Group 4 - CV 2 May 22 A
• DOMAIN: Automotive Surveillance.
• CONTEXT: Computer vision can be used to automate supervision and generate action appropriate action trigger if the event is predicted from the image of interest. For example a car moving on the road can be easily identified by a camera as make of the car, type, colour, number plates etc.
• DATA DESCRIPTION: The Cars dataset contains 16,185 images of 196 classes of cars. The data is split into 8,144 training images and 8,041 testing images, where each class has been split roughly in a 50-50 split. Classes are typically at the level of Make, Model, Year, e.g. 2012 Tesla Model S or 2012 BMW M3 coupe.
‣ Train Images: Consists of real images of cars as per the make and year of the car.
‣ Test Images: Consists of real images of cars as per the make and year of the car.
‣ Train Annotation: Consists of bounding box region for training images.
‣ Test Annotation: Consists of bounding box region for testing images. Dataset has been attached along with this project. Please use the same for this capstone project.
Original link to the dataset for your reference only: https://www.kaggle.com/jutrera/stanford-car-dataset-by-classes-folder [ for your reference only ]
Reference: 3D Object Representations for Fine-Grained Categorisation, Jonathan Krause, Michael Stark, Jia Deng, Li Fei-Fei 4th IEEE Workshop on 3D Representation and Recognition, at ICCV 2013 (3dRR-13). Sydney, Australia. Dec. 8, 2013.
• PROJECT OBJECTIVE: Design a DL based car identification model.
• PROJECT TASK: [ Score: 100 points]
Let us map the google drive and get the path
from google.colab import drive
drive.mount('/content/drive')
Mounted at /content/drive
assign the image folder path
images_zip_path = '/content/drive/MyDrive/GreatLearning/capstone/Car+Images.zip'
Extract the files from zip folder
from zipfile import ZipFile
with ZipFile(images_zip_path, 'r') as z:
z.extractall()
Get the total number of training and testing Classes(folders indicating type of car and print the total
import os
path = "/content/Car Images/Train Images" # replace with your directory path
test_folders = len([f for f in os.listdir(path) if os.path.isdir(os.path.join(path, f))])
print("Number of Train folders:", test_folders)
Number of Train folders: 196
path = "/content/Car Images/Test Images" # replace with your directory path
train_folders = len([f for f in os.listdir(path) if os.path.isdir(os.path.join(path, f))])
print("Number of Test folders:", train_folders)
Number of Test folders: 196
Let us now see how many images are there in total in both test and train folders
import os
train_dir = "/content/Car Images/Train Images"
test_dir = "/content/Car Images/Test Images"
# Get list of all subdirectories in train directory
train_classes = [d for d in os.listdir(train_dir) if os.path.isdir(os.path.join(train_dir, d))]
# Get list of all subdirectories in test directory
test_classes = [d for d in os.listdir(test_dir) if os.path.isdir(os.path.join(test_dir, d))]
# Get list of all image files in train and test directories
train_images = []
test_images = []
for c in train_classes:
images = [os.path.join(train_dir, c, f) for f in os.listdir(os.path.join(train_dir, c)) if f.endswith('.jpg')]
train_images.extend(images)
for c in test_classes:
images = [os.path.join(test_dir, c, f) for f in os.listdir(os.path.join(test_dir, c)) if f.endswith('.jpg')]
test_images.extend(images)
print("Number of training images:", len(train_images))
print("Number of testing images:", len(test_images))
Number of training images: 8144 Number of testing images: 8041
train_images
['/content/Car Images/Train Images/Hyundai Azera Sedan 2012/07324.jpg', '/content/Car Images/Train Images/Hyundai Azera Sedan 2012/01204.jpg', '/content/Car Images/Train Images/Hyundai Azera Sedan 2012/07078.jpg', '/content/Car Images/Train Images/Hyundai Azera Sedan 2012/06474.jpg', '/content/Car Images/Train Images/Hyundai Azera Sedan 2012/07760.jpg', '/content/Car Images/Train Images/Hyundai Azera Sedan 2012/02397.jpg', '/content/Car Images/Train Images/Hyundai Azera Sedan 2012/00145.jpg', '/content/Car Images/Train Images/Hyundai Azera Sedan 2012/05019.jpg', '/content/Car Images/Train Images/Hyundai Azera Sedan 2012/04807.jpg', '/content/Car Images/Train Images/Hyundai Azera Sedan 2012/00687.jpg', '/content/Car Images/Train Images/Hyundai Azera Sedan 2012/00472.jpg', '/content/Car Images/Train Images/Hyundai Azera Sedan 2012/03277.jpg', '/content/Car Images/Train Images/Hyundai Azera Sedan 2012/07330.jpg', '/content/Car Images/Train Images/Hyundai Azera Sedan 2012/07348.jpg', '/content/Car Images/Train Images/Hyundai Azera Sedan 2012/05727.jpg', '/content/Car Images/Train Images/Hyundai Azera Sedan 2012/03645.jpg', '/content/Car Images/Train Images/Hyundai Azera Sedan 2012/01692.jpg', '/content/Car Images/Train Images/Hyundai Azera Sedan 2012/04932.jpg', '/content/Car Images/Train Images/Hyundai Azera Sedan 2012/00688.jpg', '/content/Car Images/Train Images/Hyundai Azera Sedan 2012/03583.jpg', '/content/Car Images/Train Images/Hyundai Azera Sedan 2012/02943.jpg', '/content/Car Images/Train Images/Hyundai Azera Sedan 2012/05755.jpg', '/content/Car Images/Train Images/Hyundai Azera Sedan 2012/01363.jpg', '/content/Car Images/Train Images/Hyundai Azera Sedan 2012/05615.jpg', '/content/Car Images/Train Images/Hyundai Azera Sedan 2012/02617.jpg', '/content/Car Images/Train Images/Hyundai Azera Sedan 2012/01955.jpg', '/content/Car Images/Train Images/Hyundai Azera Sedan 2012/03773.jpg', '/content/Car Images/Train Images/Hyundai Azera Sedan 2012/04683.jpg', '/content/Car Images/Train Images/Hyundai Azera Sedan 2012/05898.jpg', '/content/Car Images/Train Images/Hyundai Azera Sedan 2012/00290.jpg', '/content/Car Images/Train Images/Hyundai Azera Sedan 2012/03542.jpg', '/content/Car Images/Train Images/Hyundai Azera Sedan 2012/08006.jpg', '/content/Car Images/Train Images/Hyundai Azera Sedan 2012/04491.jpg', '/content/Car Images/Train Images/Hyundai Azera Sedan 2012/05827.jpg', '/content/Car Images/Train Images/Hyundai Azera Sedan 2012/00649.jpg', '/content/Car Images/Train Images/Hyundai Azera Sedan 2012/07486.jpg', '/content/Car Images/Train Images/Hyundai Azera Sedan 2012/06686.jpg', '/content/Car Images/Train Images/Hyundai Azera Sedan 2012/02730.jpg', '/content/Car Images/Train Images/Hyundai Azera Sedan 2012/05198.jpg', '/content/Car Images/Train Images/Hyundai Azera Sedan 2012/03256.jpg', '/content/Car Images/Train Images/Hyundai Azera Sedan 2012/01734.jpg', '/content/Car Images/Train Images/Hyundai Azera Sedan 2012/01850.jpg', '/content/Car Images/Train Images/Ford Expedition EL SUV 2009/02985.jpg', '/content/Car Images/Train Images/Ford Expedition EL SUV 2009/00121.jpg', '/content/Car Images/Train Images/Ford Expedition EL SUV 2009/07222.jpg', '/content/Car Images/Train Images/Ford Expedition EL SUV 2009/01482.jpg', '/content/Car Images/Train Images/Ford Expedition EL SUV 2009/05602.jpg', '/content/Car Images/Train Images/Ford Expedition EL SUV 2009/02490.jpg', '/content/Car Images/Train Images/Ford Expedition EL SUV 2009/07677.jpg', '/content/Car Images/Train Images/Ford Expedition EL SUV 2009/05229.jpg', '/content/Car Images/Train Images/Ford Expedition EL SUV 2009/03232.jpg', '/content/Car Images/Train Images/Ford Expedition EL SUV 2009/01410.jpg', '/content/Car Images/Train Images/Ford Expedition EL SUV 2009/05250.jpg', '/content/Car Images/Train Images/Ford Expedition EL SUV 2009/00644.jpg', '/content/Car Images/Train Images/Ford Expedition EL SUV 2009/05433.jpg', '/content/Car Images/Train Images/Ford Expedition EL SUV 2009/02712.jpg', '/content/Car Images/Train Images/Ford Expedition EL SUV 2009/06963.jpg', '/content/Car Images/Train Images/Ford Expedition EL SUV 2009/07937.jpg', '/content/Car Images/Train Images/Ford Expedition EL SUV 2009/01117.jpg', '/content/Car Images/Train Images/Ford Expedition EL SUV 2009/02508.jpg', '/content/Car Images/Train Images/Ford Expedition EL SUV 2009/02275.jpg', '/content/Car Images/Train Images/Ford Expedition EL SUV 2009/00514.jpg', '/content/Car Images/Train Images/Ford Expedition EL SUV 2009/06385.jpg', '/content/Car Images/Train Images/Ford Expedition EL SUV 2009/03378.jpg', '/content/Car Images/Train Images/Ford Expedition EL SUV 2009/02759.jpg', '/content/Car Images/Train Images/Ford Expedition EL SUV 2009/03108.jpg', '/content/Car Images/Train Images/Ford Expedition EL SUV 2009/06629.jpg', '/content/Car Images/Train Images/Ford Expedition EL SUV 2009/03552.jpg', '/content/Car Images/Train Images/Ford Expedition EL SUV 2009/06152.jpg', '/content/Car Images/Train Images/Ford Expedition EL SUV 2009/06189.jpg', '/content/Car Images/Train Images/Ford Expedition EL SUV 2009/07686.jpg', '/content/Car Images/Train Images/Ford Expedition EL SUV 2009/03389.jpg', '/content/Car Images/Train Images/Ford Expedition EL SUV 2009/07224.jpg', '/content/Car Images/Train Images/Ford Expedition EL SUV 2009/04034.jpg', '/content/Car Images/Train Images/Ford Expedition EL SUV 2009/07475.jpg', '/content/Car Images/Train Images/Ford Expedition EL SUV 2009/06495.jpg', '/content/Car Images/Train Images/Ford Expedition EL SUV 2009/04692.jpg', '/content/Car Images/Train Images/Ford Expedition EL SUV 2009/06761.jpg', '/content/Car Images/Train Images/Ford Expedition EL SUV 2009/06419.jpg', '/content/Car Images/Train Images/Ford Expedition EL SUV 2009/01388.jpg', '/content/Car Images/Train Images/Ford Expedition EL SUV 2009/02485.jpg', '/content/Car Images/Train Images/Ford Expedition EL SUV 2009/05612.jpg', '/content/Car Images/Train Images/Ford Expedition EL SUV 2009/07394.jpg', '/content/Car Images/Train Images/Ford Expedition EL SUV 2009/04199.jpg', '/content/Car Images/Train Images/Ford Expedition EL SUV 2009/00518.jpg', '/content/Car Images/Train Images/Ford Expedition EL SUV 2009/00480.jpg', '/content/Car Images/Train Images/Ford Expedition EL SUV 2009/01927.jpg', '/content/Car Images/Train Images/Chevrolet Impala Sedan 2007/00769.jpg', '/content/Car Images/Train Images/Chevrolet Impala Sedan 2007/02517.jpg', '/content/Car Images/Train Images/Chevrolet Impala Sedan 2007/03217.jpg', '/content/Car Images/Train Images/Chevrolet Impala Sedan 2007/00492.jpg', '/content/Car Images/Train Images/Chevrolet Impala Sedan 2007/03737.jpg', '/content/Car Images/Train Images/Chevrolet Impala Sedan 2007/05338.jpg', '/content/Car Images/Train Images/Chevrolet Impala Sedan 2007/02575.jpg', '/content/Car Images/Train Images/Chevrolet Impala Sedan 2007/00965.jpg', '/content/Car Images/Train Images/Chevrolet Impala Sedan 2007/06780.jpg', '/content/Car Images/Train Images/Chevrolet Impala Sedan 2007/05274.jpg', '/content/Car Images/Train Images/Chevrolet Impala Sedan 2007/06693.jpg', '/content/Car Images/Train Images/Chevrolet Impala Sedan 2007/02804.jpg', '/content/Car Images/Train Images/Chevrolet Impala Sedan 2007/00227.jpg', '/content/Car Images/Train Images/Chevrolet Impala Sedan 2007/05013.jpg', '/content/Car Images/Train Images/Chevrolet Impala Sedan 2007/06618.jpg', '/content/Car Images/Train Images/Chevrolet Impala Sedan 2007/04589.jpg', '/content/Car Images/Train Images/Chevrolet Impala Sedan 2007/00245.jpg', '/content/Car Images/Train Images/Chevrolet Impala Sedan 2007/05179.jpg', '/content/Car Images/Train Images/Chevrolet Impala Sedan 2007/00676.jpg', '/content/Car Images/Train Images/Chevrolet Impala Sedan 2007/04267.jpg', '/content/Car Images/Train Images/Chevrolet Impala Sedan 2007/00968.jpg', '/content/Car Images/Train Images/Chevrolet Impala Sedan 2007/04440.jpg', '/content/Car Images/Train Images/Chevrolet Impala Sedan 2007/02436.jpg', '/content/Car Images/Train Images/Chevrolet Impala Sedan 2007/02140.jpg', '/content/Car Images/Train Images/Chevrolet Impala Sedan 2007/00103.jpg', '/content/Car Images/Train Images/Chevrolet Impala Sedan 2007/05833.jpg', '/content/Car Images/Train Images/Chevrolet Impala Sedan 2007/00654.jpg', '/content/Car Images/Train Images/Chevrolet Impala Sedan 2007/01033.jpg', '/content/Car Images/Train Images/Chevrolet Impala Sedan 2007/02909.jpg', '/content/Car Images/Train Images/Chevrolet Impala Sedan 2007/03918.jpg', '/content/Car Images/Train Images/Chevrolet Impala Sedan 2007/05437.jpg', '/content/Car Images/Train Images/Chevrolet Impala Sedan 2007/00529.jpg', '/content/Car Images/Train Images/Chevrolet Impala Sedan 2007/01062.jpg', '/content/Car Images/Train Images/Chevrolet Impala Sedan 2007/03831.jpg', '/content/Car Images/Train Images/Chevrolet Impala Sedan 2007/02990.jpg', '/content/Car Images/Train Images/Chevrolet Impala Sedan 2007/02744.jpg', '/content/Car Images/Train Images/Chevrolet Impala Sedan 2007/00745.jpg', '/content/Car Images/Train Images/Chevrolet Impala Sedan 2007/04201.jpg', '/content/Car Images/Train Images/Chevrolet Impala Sedan 2007/00831.jpg', '/content/Car Images/Train Images/Chevrolet Impala Sedan 2007/06807.jpg', '/content/Car Images/Train Images/Chevrolet Impala Sedan 2007/03597.jpg', '/content/Car Images/Train Images/Chevrolet Impala Sedan 2007/00282.jpg', '/content/Car Images/Train Images/Chevrolet Impala Sedan 2007/00661.jpg', '/content/Car Images/Train Images/Chevrolet Silverado 1500 Classic Extended Cab 2007/04163.jpg', '/content/Car Images/Train Images/Chevrolet Silverado 1500 Classic Extended Cab 2007/05810.jpg', '/content/Car Images/Train Images/Chevrolet Silverado 1500 Classic Extended Cab 2007/02597.jpg', '/content/Car Images/Train Images/Chevrolet Silverado 1500 Classic Extended Cab 2007/04625.jpg', '/content/Car Images/Train Images/Chevrolet Silverado 1500 Classic Extended Cab 2007/01921.jpg', '/content/Car Images/Train Images/Chevrolet Silverado 1500 Classic Extended Cab 2007/03261.jpg', '/content/Car Images/Train Images/Chevrolet Silverado 1500 Classic Extended Cab 2007/01938.jpg', '/content/Car Images/Train Images/Chevrolet Silverado 1500 Classic Extended Cab 2007/03632.jpg', '/content/Car Images/Train Images/Chevrolet Silverado 1500 Classic Extended Cab 2007/05451.jpg', '/content/Car Images/Train Images/Chevrolet Silverado 1500 Classic Extended Cab 2007/01477.jpg', '/content/Car Images/Train Images/Chevrolet Silverado 1500 Classic Extended Cab 2007/05449.jpg', '/content/Car Images/Train Images/Chevrolet Silverado 1500 Classic Extended Cab 2007/05174.jpg', '/content/Car Images/Train Images/Chevrolet Silverado 1500 Classic Extended Cab 2007/06116.jpg', '/content/Car Images/Train Images/Chevrolet Silverado 1500 Classic Extended Cab 2007/01690.jpg', '/content/Car Images/Train Images/Chevrolet Silverado 1500 Classic Extended Cab 2007/06946.jpg', '/content/Car Images/Train Images/Chevrolet Silverado 1500 Classic Extended Cab 2007/06502.jpg', '/content/Car Images/Train Images/Chevrolet Silverado 1500 Classic Extended Cab 2007/07980.jpg', '/content/Car Images/Train Images/Chevrolet Silverado 1500 Classic Extended Cab 2007/02976.jpg', '/content/Car Images/Train Images/Chevrolet Silverado 1500 Classic Extended Cab 2007/07999.jpg', '/content/Car Images/Train Images/Chevrolet Silverado 1500 Classic Extended Cab 2007/06592.jpg', '/content/Car Images/Train Images/Chevrolet Silverado 1500 Classic Extended Cab 2007/07680.jpg', '/content/Car Images/Train Images/Chevrolet Silverado 1500 Classic Extended Cab 2007/00360.jpg', '/content/Car Images/Train Images/Chevrolet Silverado 1500 Classic Extended Cab 2007/00874.jpg', '/content/Car Images/Train Images/Chevrolet Silverado 1500 Classic Extended Cab 2007/01419.jpg', '/content/Car Images/Train Images/Chevrolet Silverado 1500 Classic Extended Cab 2007/02034.jpg', '/content/Car Images/Train Images/Chevrolet Silverado 1500 Classic Extended Cab 2007/07406.jpg', '/content/Car Images/Train Images/Chevrolet Silverado 1500 Classic Extended Cab 2007/01432.jpg', '/content/Car Images/Train Images/Chevrolet Silverado 1500 Classic Extended Cab 2007/01967.jpg', '/content/Car Images/Train Images/Chevrolet Silverado 1500 Classic Extended Cab 2007/01029.jpg', '/content/Car Images/Train Images/Chevrolet Silverado 1500 Classic Extended Cab 2007/06029.jpg', '/content/Car Images/Train Images/Chevrolet Silverado 1500 Classic Extended Cab 2007/05479.jpg', '/content/Car Images/Train Images/Chevrolet Silverado 1500 Classic Extended Cab 2007/02295.jpg', '/content/Car Images/Train Images/Chevrolet Silverado 1500 Classic Extended Cab 2007/06547.jpg', '/content/Car Images/Train Images/Chevrolet Silverado 1500 Classic Extended Cab 2007/03685.jpg', '/content/Car Images/Train Images/Chevrolet Silverado 1500 Classic Extended Cab 2007/00669.jpg', '/content/Car Images/Train Images/Chevrolet Silverado 1500 Classic Extended Cab 2007/01874.jpg', '/content/Car Images/Train Images/Chevrolet Silverado 1500 Classic Extended Cab 2007/01325.jpg', '/content/Car Images/Train Images/Chevrolet Silverado 1500 Classic Extended Cab 2007/02142.jpg', '/content/Car Images/Train Images/Chevrolet Silverado 1500 Classic Extended Cab 2007/04678.jpg', '/content/Car Images/Train Images/Chevrolet Silverado 1500 Classic Extended Cab 2007/04845.jpg', '/content/Car Images/Train Images/Chevrolet Silverado 1500 Classic Extended Cab 2007/04610.jpg', '/content/Car Images/Train Images/Chevrolet Silverado 1500 Classic Extended Cab 2007/01009.jpg', '/content/Car Images/Train Images/Chevrolet Silverado 1500 Classic Extended Cab 2007/04104.jpg', '/content/Car Images/Train Images/Hyundai Sonata Hybrid Sedan 2012/03793.jpg', '/content/Car Images/Train Images/Hyundai Sonata Hybrid Sedan 2012/03893.jpg', '/content/Car Images/Train Images/Hyundai Sonata Hybrid Sedan 2012/07988.jpg', '/content/Car Images/Train Images/Hyundai Sonata Hybrid Sedan 2012/06733.jpg', '/content/Car Images/Train Images/Hyundai Sonata Hybrid Sedan 2012/01213.jpg', '/content/Car Images/Train Images/Hyundai Sonata Hybrid Sedan 2012/00026.jpg', '/content/Car Images/Train Images/Hyundai Sonata Hybrid Sedan 2012/06368.jpg', '/content/Car Images/Train Images/Hyundai Sonata Hybrid Sedan 2012/02351.jpg', '/content/Car Images/Train Images/Hyundai Sonata Hybrid Sedan 2012/03664.jpg', '/content/Car Images/Train Images/Hyundai Sonata Hybrid Sedan 2012/06095.jpg', '/content/Car Images/Train Images/Hyundai Sonata Hybrid Sedan 2012/00850.jpg', '/content/Car Images/Train Images/Hyundai Sonata Hybrid Sedan 2012/04424.jpg', '/content/Car Images/Train Images/Hyundai Sonata Hybrid Sedan 2012/07329.jpg', '/content/Car Images/Train Images/Hyundai Sonata Hybrid Sedan 2012/02560.jpg', '/content/Car Images/Train Images/Hyundai Sonata Hybrid Sedan 2012/05819.jpg', '/content/Car Images/Train Images/Hyundai Sonata Hybrid Sedan 2012/01738.jpg', '/content/Car Images/Train Images/Hyundai Sonata Hybrid Sedan 2012/03266.jpg', '/content/Car Images/Train Images/Hyundai Sonata Hybrid Sedan 2012/04877.jpg', '/content/Car Images/Train Images/Hyundai Sonata Hybrid Sedan 2012/06942.jpg', '/content/Car Images/Train Images/Hyundai Sonata Hybrid Sedan 2012/07459.jpg', '/content/Car Images/Train Images/Hyundai Sonata Hybrid Sedan 2012/06138.jpg', '/content/Car Images/Train Images/Hyundai Sonata Hybrid Sedan 2012/04815.jpg', '/content/Car Images/Train Images/Hyundai Sonata Hybrid Sedan 2012/00260.jpg', '/content/Car Images/Train Images/Hyundai Sonata Hybrid Sedan 2012/02353.jpg', '/content/Car Images/Train Images/Hyundai Sonata Hybrid Sedan 2012/07887.jpg', '/content/Car Images/Train Images/Hyundai Sonata Hybrid Sedan 2012/06669.jpg', '/content/Car Images/Train Images/Hyundai Sonata Hybrid Sedan 2012/07323.jpg', '/content/Car Images/Train Images/Hyundai Sonata Hybrid Sedan 2012/02595.jpg', '/content/Car Images/Train Images/Hyundai Sonata Hybrid Sedan 2012/03400.jpg', '/content/Car Images/Train Images/Hyundai Sonata Hybrid Sedan 2012/06143.jpg', '/content/Car Images/Train Images/Hyundai Sonata Hybrid Sedan 2012/00004.jpg', '/content/Car Images/Train Images/Hyundai Sonata Hybrid Sedan 2012/02128.jpg', '/content/Car Images/Train Images/Hyundai Sonata Hybrid Sedan 2012/04907.jpg', '/content/Car Images/Train Images/Hyundai Sonata Hybrid Sedan 2012/06347.jpg', '/content/Car Images/Train Images/Ferrari FF Coupe 2012/00637.jpg', '/content/Car Images/Train Images/Ferrari FF Coupe 2012/05423.jpg', '/content/Car Images/Train Images/Ferrari FF Coupe 2012/02020.jpg', '/content/Car Images/Train Images/Ferrari FF Coupe 2012/03386.jpg', '/content/Car Images/Train Images/Ferrari FF Coupe 2012/07690.jpg', '/content/Car Images/Train Images/Ferrari FF Coupe 2012/03929.jpg', '/content/Car Images/Train Images/Ferrari FF Coupe 2012/02664.jpg', '/content/Car Images/Train Images/Ferrari FF Coupe 2012/05608.jpg', '/content/Car Images/Train Images/Ferrari FF Coupe 2012/01777.jpg', '/content/Car Images/Train Images/Ferrari FF Coupe 2012/03907.jpg', '/content/Car Images/Train Images/Ferrari FF Coupe 2012/02177.jpg', '/content/Car Images/Train Images/Ferrari FF Coupe 2012/02328.jpg', '/content/Car Images/Train Images/Ferrari FF Coupe 2012/02923.jpg', '/content/Car Images/Train Images/Ferrari FF Coupe 2012/06887.jpg', '/content/Car Images/Train Images/Ferrari FF Coupe 2012/03576.jpg', '/content/Car Images/Train Images/Ferrari FF Coupe 2012/00782.jpg', '/content/Car Images/Train Images/Ferrari FF Coupe 2012/02168.jpg', '/content/Car Images/Train Images/Ferrari FF Coupe 2012/06979.jpg', '/content/Car Images/Train Images/Ferrari FF Coupe 2012/06648.jpg', '/content/Car Images/Train Images/Ferrari FF Coupe 2012/05257.jpg', '/content/Car Images/Train Images/Ferrari FF Coupe 2012/06910.jpg', '/content/Car Images/Train Images/Ferrari FF Coupe 2012/00679.jpg', '/content/Car Images/Train Images/Ferrari FF Coupe 2012/06494.jpg', '/content/Car Images/Train Images/Ferrari FF Coupe 2012/01011.jpg', '/content/Car Images/Train Images/Ferrari FF Coupe 2012/02270.jpg', '/content/Car Images/Train Images/Ferrari FF Coupe 2012/05236.jpg', '/content/Car Images/Train Images/Ferrari FF Coupe 2012/07219.jpg', '/content/Car Images/Train Images/Ferrari FF Coupe 2012/02767.jpg', '/content/Car Images/Train Images/Ferrari FF Coupe 2012/06384.jpg', '/content/Car Images/Train Images/Ferrari FF Coupe 2012/00063.jpg', '/content/Car Images/Train Images/Ferrari FF Coupe 2012/06031.jpg', '/content/Car Images/Train Images/Ferrari FF Coupe 2012/02118.jpg', '/content/Car Images/Train Images/Ferrari FF Coupe 2012/02003.jpg', '/content/Car Images/Train Images/Ferrari FF Coupe 2012/00332.jpg', '/content/Car Images/Train Images/Ferrari FF Coupe 2012/04296.jpg', '/content/Car Images/Train Images/Ferrari FF Coupe 2012/00980.jpg', '/content/Car Images/Train Images/Ferrari FF Coupe 2012/01558.jpg', '/content/Car Images/Train Images/Ferrari FF Coupe 2012/05513.jpg', '/content/Car Images/Train Images/Ferrari FF Coupe 2012/04110.jpg', '/content/Car Images/Train Images/Ferrari FF Coupe 2012/05659.jpg', '/content/Car Images/Train Images/Ferrari FF Coupe 2012/03562.jpg', '/content/Car Images/Train Images/Ferrari FF Coupe 2012/01150.jpg', '/content/Car Images/Train Images/Audi 100 Wagon 1994/02171.jpg', '/content/Car Images/Train Images/Audi 100 Wagon 1994/07002.jpg', '/content/Car Images/Train Images/Audi 100 Wagon 1994/07383.jpg', '/content/Car Images/Train Images/Audi 100 Wagon 1994/05713.jpg', '/content/Car Images/Train Images/Audi 100 Wagon 1994/07384.jpg', '/content/Car Images/Train Images/Audi 100 Wagon 1994/04744.jpg', '/content/Car Images/Train Images/Audi 100 Wagon 1994/05787.jpg', '/content/Car Images/Train Images/Audi 100 Wagon 1994/02796.jpg', '/content/Car Images/Train Images/Audi 100 Wagon 1994/00471.jpg', '/content/Car Images/Train Images/Audi 100 Wagon 1994/04176.jpg', '/content/Car Images/Train Images/Audi 100 Wagon 1994/02400.jpg', '/content/Car Images/Train Images/Audi 100 Wagon 1994/01609.jpg', '/content/Car Images/Train Images/Audi 100 Wagon 1994/00154.jpg', '/content/Car Images/Train Images/Audi 100 Wagon 1994/00219.jpg', '/content/Car Images/Train Images/Audi 100 Wagon 1994/06873.jpg', '/content/Car Images/Train Images/Audi 100 Wagon 1994/07649.jpg', '/content/Car Images/Train Images/Audi 100 Wagon 1994/05869.jpg', '/content/Car Images/Train Images/Audi 100 Wagon 1994/01591.jpg', '/content/Car Images/Train Images/Audi 100 Wagon 1994/00780.jpg', '/content/Car Images/Train Images/Audi 100 Wagon 1994/01097.jpg', '/content/Car Images/Train Images/Audi 100 Wagon 1994/07028.jpg', '/content/Car Images/Train Images/Audi 100 Wagon 1994/03439.jpg', '/content/Car Images/Train Images/Audi 100 Wagon 1994/00083.jpg', '/content/Car Images/Train Images/Audi 100 Wagon 1994/07493.jpg', '/content/Car Images/Train Images/Audi 100 Wagon 1994/06664.jpg', '/content/Car Images/Train Images/Audi 100 Wagon 1994/05271.jpg', '/content/Car Images/Train Images/Audi 100 Wagon 1994/02341.jpg', '/content/Car Images/Train Images/Audi 100 Wagon 1994/06362.jpg', '/content/Car Images/Train Images/Audi 100 Wagon 1994/03435.jpg', '/content/Car Images/Train Images/Audi 100 Wagon 1994/01700.jpg', '/content/Car Images/Train Images/Audi 100 Wagon 1994/03498.jpg', '/content/Car Images/Train Images/Audi 100 Wagon 1994/06291.jpg', '/content/Car Images/Train Images/Audi 100 Wagon 1994/07195.jpg', '/content/Car Images/Train Images/Audi 100 Wagon 1994/06610.jpg', '/content/Car Images/Train Images/Audi 100 Wagon 1994/05645.jpg', '/content/Car Images/Train Images/Audi 100 Wagon 1994/00217.jpg', '/content/Car Images/Train Images/Audi 100 Wagon 1994/06871.jpg', '/content/Car Images/Train Images/Audi 100 Wagon 1994/02292.jpg', '/content/Car Images/Train Images/Audi 100 Wagon 1994/07213.jpg', '/content/Car Images/Train Images/Audi 100 Wagon 1994/04567.jpg', '/content/Car Images/Train Images/Audi 100 Wagon 1994/02214.jpg', '/content/Car Images/Train Images/Audi 100 Wagon 1994/05576.jpg', '/content/Car Images/Train Images/Audi 100 Wagon 1994/02505.jpg', '/content/Car Images/Train Images/BMW 1 Series Convertible 2012/07689.jpg', '/content/Car Images/Train Images/BMW 1 Series Convertible 2012/07524.jpg', '/content/Car Images/Train Images/BMW 1 Series Convertible 2012/01423.jpg', '/content/Car Images/Train Images/BMW 1 Series Convertible 2012/04548.jpg', '/content/Car Images/Train Images/BMW 1 Series Convertible 2012/06557.jpg', '/content/Car Images/Train Images/BMW 1 Series Convertible 2012/05616.jpg', '/content/Car Images/Train Images/BMW 1 Series Convertible 2012/06752.jpg', '/content/Car Images/Train Images/BMW 1 Series Convertible 2012/03199.jpg', '/content/Car Images/Train Images/BMW 1 Series Convertible 2012/04086.jpg', '/content/Car Images/Train Images/BMW 1 Series Convertible 2012/02042.jpg', '/content/Car Images/Train Images/BMW 1 Series Convertible 2012/04957.jpg', '/content/Car Images/Train Images/BMW 1 Series Convertible 2012/05586.jpg', '/content/Car Images/Train Images/BMW 1 Series Convertible 2012/05634.jpg', '/content/Car Images/Train Images/BMW 1 Series Convertible 2012/02451.jpg', '/content/Car Images/Train Images/BMW 1 Series Convertible 2012/06703.jpg', '/content/Car Images/Train Images/BMW 1 Series Convertible 2012/03457.jpg', '/content/Car Images/Train Images/BMW 1 Series Convertible 2012/06894.jpg', '/content/Car Images/Train Images/BMW 1 Series Convertible 2012/01663.jpg', '/content/Car Images/Train Images/BMW 1 Series Convertible 2012/03162.jpg', '/content/Car Images/Train Images/BMW 1 Series Convertible 2012/00966.jpg', '/content/Car Images/Train Images/BMW 1 Series Convertible 2012/02152.jpg', '/content/Car Images/Train Images/BMW 1 Series Convertible 2012/07805.jpg', '/content/Car Images/Train Images/BMW 1 Series Convertible 2012/04946.jpg', '/content/Car Images/Train Images/BMW 1 Series Convertible 2012/04644.jpg', '/content/Car Images/Train Images/BMW 1 Series Convertible 2012/03525.jpg', '/content/Car Images/Train Images/BMW 1 Series Convertible 2012/01838.jpg', '/content/Car Images/Train Images/BMW 1 Series Convertible 2012/00678.jpg', '/content/Car Images/Train Images/BMW 1 Series Convertible 2012/03990.jpg', '/content/Car Images/Train Images/BMW 1 Series Convertible 2012/01036.jpg', '/content/Car Images/Train Images/BMW 1 Series Convertible 2012/04152.jpg', '/content/Car Images/Train Images/BMW 1 Series Convertible 2012/07144.jpg', '/content/Car Images/Train Images/BMW 1 Series Convertible 2012/06078.jpg', '/content/Car Images/Train Images/BMW 1 Series Convertible 2012/05878.jpg', '/content/Car Images/Train Images/BMW 1 Series Convertible 2012/00798.jpg', '/content/Car Images/Train Images/BMW 1 Series Convertible 2012/02241.jpg', '/content/Car Images/Train Images/BMW 1 Series Convertible 2012/06089.jpg', '/content/Car Images/Train Images/Hyundai Veracruz SUV 2012/06194.jpg', '/content/Car Images/Train Images/Hyundai Veracruz SUV 2012/02080.jpg', '/content/Car Images/Train Images/Hyundai Veracruz SUV 2012/05137.jpg', '/content/Car Images/Train Images/Hyundai Veracruz SUV 2012/07179.jpg', '/content/Car Images/Train Images/Hyundai Veracruz SUV 2012/06487.jpg', '/content/Car Images/Train Images/Hyundai Veracruz SUV 2012/05812.jpg', '/content/Car Images/Train Images/Hyundai Veracruz SUV 2012/02965.jpg', '/content/Car Images/Train Images/Hyundai Veracruz SUV 2012/00377.jpg', '/content/Car Images/Train Images/Hyundai Veracruz SUV 2012/07189.jpg', '/content/Car Images/Train Images/Hyundai Veracruz SUV 2012/04114.jpg', '/content/Car Images/Train Images/Hyundai Veracruz SUV 2012/07015.jpg', '/content/Car Images/Train Images/Hyundai Veracruz SUV 2012/00034.jpg', '/content/Car Images/Train Images/Hyundai Veracruz SUV 2012/00625.jpg', '/content/Car Images/Train Images/Hyundai Veracruz SUV 2012/00464.jpg', '/content/Car Images/Train Images/Hyundai Veracruz SUV 2012/06812.jpg', '/content/Car Images/Train Images/Hyundai Veracruz SUV 2012/06192.jpg', '/content/Car Images/Train Images/Hyundai Veracruz SUV 2012/00105.jpg', '/content/Car Images/Train Images/Hyundai Veracruz SUV 2012/02555.jpg', '/content/Car Images/Train Images/Hyundai Veracruz SUV 2012/01669.jpg', '/content/Car Images/Train Images/Hyundai Veracruz SUV 2012/02239.jpg', '/content/Car Images/Train Images/Hyundai Veracruz SUV 2012/03917.jpg', '/content/Car Images/Train Images/Hyundai Veracruz SUV 2012/03598.jpg', '/content/Car Images/Train Images/Hyundai Veracruz SUV 2012/02148.jpg', '/content/Car Images/Train Images/Hyundai Veracruz SUV 2012/00079.jpg', '/content/Car Images/Train Images/Hyundai Veracruz SUV 2012/07201.jpg', '/content/Car Images/Train Images/Hyundai Veracruz SUV 2012/01257.jpg', '/content/Car Images/Train Images/Hyundai Veracruz SUV 2012/06922.jpg', '/content/Car Images/Train Images/Hyundai Veracruz SUV 2012/00986.jpg', '/content/Car Images/Train Images/Hyundai Veracruz SUV 2012/00185.jpg', '/content/Car Images/Train Images/Hyundai Veracruz SUV 2012/03260.jpg', '/content/Car Images/Train Images/Hyundai Veracruz SUV 2012/07250.jpg', '/content/Car Images/Train Images/Hyundai Veracruz SUV 2012/06951.jpg', '/content/Car Images/Train Images/Hyundai Veracruz SUV 2012/00895.jpg', '/content/Car Images/Train Images/Hyundai Veracruz SUV 2012/01412.jpg', '/content/Car Images/Train Images/Hyundai Veracruz SUV 2012/07434.jpg', '/content/Car Images/Train Images/Hyundai Veracruz SUV 2012/03688.jpg', '/content/Car Images/Train Images/Hyundai Veracruz SUV 2012/00113.jpg', '/content/Car Images/Train Images/Hyundai Veracruz SUV 2012/07208.jpg', '/content/Car Images/Train Images/Hyundai Veracruz SUV 2012/04850.jpg', '/content/Car Images/Train Images/Hyundai Veracruz SUV 2012/01368.jpg', '/content/Car Images/Train Images/Hyundai Veracruz SUV 2012/05248.jpg', '/content/Car Images/Train Images/Hyundai Veracruz SUV 2012/06403.jpg', '/content/Car Images/Train Images/Aston Martin V8 Vantage Coupe 2012/04509.jpg', '/content/Car Images/Train Images/Aston Martin V8 Vantage Coupe 2012/04510.jpg', '/content/Car Images/Train Images/Aston Martin V8 Vantage Coupe 2012/03659.jpg', '/content/Car Images/Train Images/Aston Martin V8 Vantage Coupe 2012/01361.jpg', '/content/Car Images/Train Images/Aston Martin V8 Vantage Coupe 2012/00634.jpg', '/content/Car Images/Train Images/Aston Martin V8 Vantage Coupe 2012/04724.jpg', '/content/Car Images/Train Images/Aston Martin V8 Vantage Coupe 2012/03064.jpg', '/content/Car Images/Train Images/Aston Martin V8 Vantage Coupe 2012/02645.jpg', '/content/Car Images/Train Images/Aston Martin V8 Vantage Coupe 2012/02194.jpg', '/content/Car Images/Train Images/Aston Martin V8 Vantage Coupe 2012/03009.jpg', '/content/Car Images/Train Images/Aston Martin V8 Vantage Coupe 2012/03239.jpg', '/content/Car Images/Train Images/Aston Martin V8 Vantage Coupe 2012/05694.jpg', '/content/Car Images/Train Images/Aston Martin V8 Vantage Coupe 2012/06375.jpg', '/content/Car Images/Train Images/Aston Martin V8 Vantage Coupe 2012/03454.jpg', '/content/Car Images/Train Images/Aston Martin V8 Vantage Coupe 2012/05909.jpg', '/content/Car Images/Train Images/Aston Martin V8 Vantage Coupe 2012/01276.jpg', '/content/Car Images/Train Images/Aston Martin V8 Vantage Coupe 2012/01768.jpg', '/content/Car Images/Train Images/Aston Martin V8 Vantage Coupe 2012/02771.jpg', '/content/Car Images/Train Images/Aston Martin V8 Vantage Coupe 2012/07471.jpg', '/content/Car Images/Train Images/Aston Martin V8 Vantage Coupe 2012/02058.jpg', '/content/Car Images/Train Images/Aston Martin V8 Vantage Coupe 2012/04308.jpg', '/content/Car Images/Train Images/Aston Martin V8 Vantage Coupe 2012/03732.jpg', '/content/Car Images/Train Images/Aston Martin V8 Vantage Coupe 2012/06921.jpg', '/content/Car Images/Train Images/Aston Martin V8 Vantage Coupe 2012/04494.jpg', '/content/Car Images/Train Images/Aston Martin V8 Vantage Coupe 2012/05306.jpg', '/content/Car Images/Train Images/Aston Martin V8 Vantage Coupe 2012/05382.jpg', '/content/Car Images/Train Images/Aston Martin V8 Vantage Coupe 2012/06539.jpg', '/content/Car Images/Train Images/Aston Martin V8 Vantage Coupe 2012/00340.jpg', '/content/Car Images/Train Images/Aston Martin V8 Vantage Coupe 2012/02378.jpg', '/content/Car Images/Train Images/Aston Martin V8 Vantage Coupe 2012/03662.jpg', '/content/Car Images/Train Images/Aston Martin V8 Vantage Coupe 2012/06683.jpg', '/content/Car Images/Train Images/Aston Martin V8 Vantage Coupe 2012/00635.jpg', '/content/Car Images/Train Images/Aston Martin V8 Vantage Coupe 2012/01680.jpg', '/content/Car Images/Train Images/Aston Martin V8 Vantage Coupe 2012/00503.jpg', '/content/Car Images/Train Images/Aston Martin V8 Vantage Coupe 2012/07704.jpg', '/content/Car Images/Train Images/Aston Martin V8 Vantage Coupe 2012/02577.jpg', '/content/Car Images/Train Images/Aston Martin V8 Vantage Coupe 2012/04750.jpg', '/content/Car Images/Train Images/Aston Martin V8 Vantage Coupe 2012/06381.jpg', '/content/Car Images/Train Images/Aston Martin V8 Vantage Coupe 2012/03828.jpg', '/content/Car Images/Train Images/Aston Martin V8 Vantage Coupe 2012/04725.jpg', '/content/Car Images/Train Images/Aston Martin V8 Vantage Coupe 2012/06896.jpg', '/content/Car Images/Train Images/Bentley Continental Flying Spur Sedan 2007/01677.jpg', '/content/Car Images/Train Images/Bentley Continental Flying Spur Sedan 2007/02231.jpg', '/content/Car Images/Train Images/Bentley Continental Flying Spur Sedan 2007/06028.jpg', '/content/Car Images/Train Images/Bentley Continental Flying Spur Sedan 2007/04812.jpg', '/content/Car Images/Train Images/Bentley Continental Flying Spur Sedan 2007/01270.jpg', '/content/Car Images/Train Images/Bentley Continental Flying Spur Sedan 2007/06520.jpg', '/content/Car Images/Train Images/Bentley Continental Flying Spur Sedan 2007/00896.jpg', '/content/Car Images/Train Images/Bentley Continental Flying Spur Sedan 2007/06781.jpg', '/content/Car Images/Train Images/Bentley Continental Flying Spur Sedan 2007/04886.jpg', '/content/Car Images/Train Images/Bentley Continental Flying Spur Sedan 2007/05707.jpg', '/content/Car Images/Train Images/Bentley Continental Flying Spur Sedan 2007/07495.jpg', '/content/Car Images/Train Images/Bentley Continental Flying Spur Sedan 2007/03464.jpg', '/content/Car Images/Train Images/Bentley Continental Flying Spur Sedan 2007/07396.jpg', '/content/Car Images/Train Images/Bentley Continental Flying Spur Sedan 2007/07797.jpg', '/content/Car Images/Train Images/Bentley Continental Flying Spur Sedan 2007/07605.jpg', '/content/Car Images/Train Images/Bentley Continental Flying Spur Sedan 2007/04109.jpg', '/content/Car Images/Train Images/Bentley Continental Flying Spur Sedan 2007/02493.jpg', '/content/Car Images/Train Images/Bentley Continental Flying Spur Sedan 2007/05946.jpg', '/content/Car Images/Train Images/Bentley Continental Flying Spur Sedan 2007/05539.jpg', '/content/Car Images/Train Images/Bentley Continental Flying Spur Sedan 2007/06994.jpg', '/content/Car Images/Train Images/Bentley Continental Flying Spur Sedan 2007/03149.jpg', '/content/Car Images/Train Images/Bentley Continental Flying Spur Sedan 2007/02259.jpg', '/content/Car Images/Train Images/Bentley Continental Flying Spur Sedan 2007/01857.jpg', '/content/Car Images/Train Images/Bentley Continental Flying Spur Sedan 2007/00057.jpg', '/content/Car Images/Train Images/Bentley Continental Flying Spur Sedan 2007/02845.jpg', '/content/Car Images/Train Images/Bentley Continental Flying Spur Sedan 2007/05923.jpg', '/content/Car Images/Train Images/Bentley Continental Flying Spur Sedan 2007/02452.jpg', '/content/Car Images/Train Images/Bentley Continental Flying Spur Sedan 2007/04989.jpg', '/content/Car Images/Train Images/Bentley Continental Flying Spur Sedan 2007/05981.jpg', '/content/Car Images/Train Images/Bentley Continental Flying Spur Sedan 2007/05779.jpg', '/content/Car Images/Train Images/Bentley Continental Flying Spur Sedan 2007/06635.jpg', '/content/Car Images/Train Images/Bentley Continental Flying Spur Sedan 2007/02175.jpg', '/content/Car Images/Train Images/Bentley Continental Flying Spur Sedan 2007/07618.jpg', '/content/Car Images/Train Images/Bentley Continental Flying Spur Sedan 2007/01357.jpg', '/content/Car Images/Train Images/Bentley Continental Flying Spur Sedan 2007/05542.jpg', '/content/Car Images/Train Images/Bentley Continental Flying Spur Sedan 2007/02096.jpg', '/content/Car Images/Train Images/Bentley Continental Flying Spur Sedan 2007/06369.jpg', '/content/Car Images/Train Images/Bentley Continental Flying Spur Sedan 2007/06505.jpg', '/content/Car Images/Train Images/Bentley Continental Flying Spur Sedan 2007/04951.jpg', '/content/Car Images/Train Images/Bentley Continental Flying Spur Sedan 2007/07789.jpg', '/content/Car Images/Train Images/Bentley Continental Flying Spur Sedan 2007/00749.jpg', '/content/Car Images/Train Images/Bentley Continental Flying Spur Sedan 2007/00897.jpg', '/content/Car Images/Train Images/Bentley Continental Flying Spur Sedan 2007/05145.jpg', '/content/Car Images/Train Images/Bentley Continental Flying Spur Sedan 2007/07948.jpg', '/content/Car Images/Train Images/Bentley Continental Flying Spur Sedan 2007/06076.jpg', '/content/Car Images/Train Images/BMW 1 Series Coupe 2012/06574.jpg', '/content/Car Images/Train Images/BMW 1 Series Coupe 2012/01500.jpg', '/content/Car Images/Train Images/BMW 1 Series Coupe 2012/07155.jpg', '/content/Car Images/Train Images/BMW 1 Series Coupe 2012/05985.jpg', '/content/Car Images/Train Images/BMW 1 Series Coupe 2012/04551.jpg', '/content/Car Images/Train Images/BMW 1 Series Coupe 2012/05541.jpg', '/content/Car Images/Train Images/BMW 1 Series Coupe 2012/07031.jpg', '/content/Car Images/Train Images/BMW 1 Series Coupe 2012/05947.jpg', '/content/Car Images/Train Images/BMW 1 Series Coupe 2012/02772.jpg', '/content/Car Images/Train Images/BMW 1 Series Coupe 2012/00122.jpg', '/content/Car Images/Train Images/BMW 1 Series Coupe 2012/02338.jpg', '/content/Car Images/Train Images/BMW 1 Series Coupe 2012/03634.jpg', '/content/Car Images/Train Images/BMW 1 Series Coupe 2012/07262.jpg', '/content/Car Images/Train Images/BMW 1 Series Coupe 2012/04030.jpg', '/content/Car Images/Train Images/BMW 1 Series Coupe 2012/07022.jpg', '/content/Car Images/Train Images/BMW 1 Series Coupe 2012/02504.jpg', '/content/Car Images/Train Images/BMW 1 Series Coupe 2012/05445.jpg', '/content/Car Images/Train Images/BMW 1 Series Coupe 2012/04505.jpg', '/content/Car Images/Train Images/BMW 1 Series Coupe 2012/08021.jpg', '/content/Car Images/Train Images/BMW 1 Series Coupe 2012/00598.jpg', '/content/Car Images/Train Images/BMW 1 Series Coupe 2012/02649.jpg', '/content/Car Images/Train Images/BMW 1 Series Coupe 2012/02027.jpg', '/content/Car Images/Train Images/BMW 1 Series Coupe 2012/01292.jpg', '/content/Car Images/Train Images/BMW 1 Series Coupe 2012/03874.jpg', '/content/Car Images/Train Images/BMW 1 Series Coupe 2012/03665.jpg', '/content/Car Images/Train Images/BMW 1 Series Coupe 2012/01206.jpg', '/content/Car Images/Train Images/BMW 1 Series Coupe 2012/06387.jpg', '/content/Car Images/Train Images/BMW 1 Series Coupe 2012/02627.jpg', '/content/Car Images/Train Images/BMW 1 Series Coupe 2012/05794.jpg', '/content/Car Images/Train Images/BMW 1 Series Coupe 2012/05654.jpg', '/content/Car Images/Train Images/BMW 1 Series Coupe 2012/04832.jpg', '/content/Car Images/Train Images/BMW 1 Series Coupe 2012/01553.jpg', '/content/Car Images/Train Images/BMW 1 Series Coupe 2012/02233.jpg', '/content/Car Images/Train Images/BMW 1 Series Coupe 2012/04865.jpg', '/content/Car Images/Train Images/BMW 1 Series Coupe 2012/05404.jpg', '/content/Car Images/Train Images/BMW 1 Series Coupe 2012/05028.jpg', '/content/Car Images/Train Images/BMW 1 Series Coupe 2012/00870.jpg', '/content/Car Images/Train Images/BMW 1 Series Coupe 2012/06202.jpg', '/content/Car Images/Train Images/BMW 1 Series Coupe 2012/02758.jpg', '/content/Car Images/Train Images/BMW 1 Series Coupe 2012/02416.jpg', '/content/Car Images/Train Images/BMW 1 Series Coupe 2012/01239.jpg', '/content/Car Images/Train Images/Ford GT Coupe 2006/03816.jpg', '/content/Car Images/Train Images/Ford GT Coupe 2006/01098.jpg', '/content/Car Images/Train Images/Ford GT Coupe 2006/03584.jpg', '/content/Car Images/Train Images/Ford GT Coupe 2006/08143.jpg', '/content/Car Images/Train Images/Ford GT Coupe 2006/06615.jpg', '/content/Car Images/Train Images/Ford GT Coupe 2006/01351.jpg', '/content/Car Images/Train Images/Ford GT Coupe 2006/04617.jpg', '/content/Car Images/Train Images/Ford GT Coupe 2006/02591.jpg', '/content/Car Images/Train Images/Ford GT Coupe 2006/06613.jpg', '/content/Car Images/Train Images/Ford GT Coupe 2006/05185.jpg', '/content/Car Images/Train Images/Ford GT Coupe 2006/06074.jpg', '/content/Car Images/Train Images/Ford GT Coupe 2006/03219.jpg', '/content/Car Images/Train Images/Ford GT Coupe 2006/06544.jpg', '/content/Car Images/Train Images/Ford GT Coupe 2006/01887.jpg', '/content/Car Images/Train Images/Ford GT Coupe 2006/02380.jpg', '/content/Car Images/Train Images/Ford GT Coupe 2006/06391.jpg', '/content/Car Images/Train Images/Ford GT Coupe 2006/00994.jpg', '/content/Car Images/Train Images/Ford GT Coupe 2006/00336.jpg', '/content/Car Images/Train Images/Ford GT Coupe 2006/02573.jpg', '/content/Car Images/Train Images/Ford GT Coupe 2006/07820.jpg', '/content/Car Images/Train Images/Ford GT Coupe 2006/01549.jpg', '/content/Car Images/Train Images/Ford GT Coupe 2006/01779.jpg', '/content/Car Images/Train Images/Ford GT Coupe 2006/08128.jpg', '/content/Car Images/Train Images/Ford GT Coupe 2006/07460.jpg', '/content/Car Images/Train Images/Ford GT Coupe 2006/01923.jpg', '/content/Car Images/Train Images/Ford GT Coupe 2006/07837.jpg', '/content/Car Images/Train Images/Ford GT Coupe 2006/05415.jpg', '/content/Car Images/Train Images/Ford GT Coupe 2006/05313.jpg', '/content/Car Images/Train Images/Ford GT Coupe 2006/07613.jpg', '/content/Car Images/Train Images/Ford GT Coupe 2006/03192.jpg', '/content/Car Images/Train Images/Ford GT Coupe 2006/00416.jpg', '/content/Car Images/Train Images/Ford GT Coupe 2006/03053.jpg', '/content/Car Images/Train Images/Ford GT Coupe 2006/02704.jpg', '/content/Car Images/Train Images/Ford GT Coupe 2006/03867.jpg', '/content/Car Images/Train Images/Ford GT Coupe 2006/07239.jpg', '/content/Car Images/Train Images/Ford GT Coupe 2006/00094.jpg', '/content/Car Images/Train Images/Ford GT Coupe 2006/03524.jpg', '/content/Car Images/Train Images/Ford GT Coupe 2006/03622.jpg', '/content/Car Images/Train Images/Ford GT Coupe 2006/04496.jpg', '/content/Car Images/Train Images/Ford GT Coupe 2006/03151.jpg', '/content/Car Images/Train Images/Ford GT Coupe 2006/02282.jpg', '/content/Car Images/Train Images/Ford GT Coupe 2006/06799.jpg', '/content/Car Images/Train Images/Ford GT Coupe 2006/06034.jpg', '/content/Car Images/Train Images/Ford GT Coupe 2006/04521.jpg', '/content/Car Images/Train Images/Ford GT Coupe 2006/05846.jpg', '/content/Car Images/Train Images/Ford GT Coupe 2006/04343.jpg', '/content/Car Images/Train Images/Volvo 240 Sedan 1993/01431.jpg', '/content/Car Images/Train Images/Volvo 240 Sedan 1993/00426.jpg', '/content/Car Images/Train Images/Volvo 240 Sedan 1993/01853.jpg', '/content/Car Images/Train Images/Volvo 240 Sedan 1993/02067.jpg', '/content/Car Images/Train Images/Volvo 240 Sedan 1993/04538.jpg', '/content/Car Images/Train Images/Volvo 240 Sedan 1993/02344.jpg', '/content/Car Images/Train Images/Volvo 240 Sedan 1993/00285.jpg', '/content/Car Images/Train Images/Volvo 240 Sedan 1993/03613.jpg', '/content/Car Images/Train Images/Volvo 240 Sedan 1993/03945.jpg', '/content/Car Images/Train Images/Volvo 240 Sedan 1993/07067.jpg', '/content/Car Images/Train Images/Volvo 240 Sedan 1993/06260.jpg', '/content/Car Images/Train Images/Volvo 240 Sedan 1993/02279.jpg', '/content/Car Images/Train Images/Volvo 240 Sedan 1993/00030.jpg', '/content/Car Images/Train Images/Volvo 240 Sedan 1993/07702.jpg', '/content/Car Images/Train Images/Volvo 240 Sedan 1993/06127.jpg', '/content/Car Images/Train Images/Volvo 240 Sedan 1993/00025.jpg', '/content/Car Images/Train Images/Volvo 240 Sedan 1993/06960.jpg', '/content/Car Images/Train Images/Volvo 240 Sedan 1993/01844.jpg', '/content/Car Images/Train Images/Volvo 240 Sedan 1993/05292.jpg', '/content/Car Images/Train Images/Volvo 240 Sedan 1993/03345.jpg', '/content/Car Images/Train Images/Volvo 240 Sedan 1993/06560.jpg', '/content/Car Images/Train Images/Volvo 240 Sedan 1993/03785.jpg', '/content/Car Images/Train Images/Volvo 240 Sedan 1993/05120.jpg', '/content/Car Images/Train Images/Volvo 240 Sedan 1993/07900.jpg', '/content/Car Images/Train Images/Volvo 240 Sedan 1993/07858.jpg', '/content/Car Images/Train Images/Volvo 240 Sedan 1993/01992.jpg', '/content/Car Images/Train Images/Volvo 240 Sedan 1993/04215.jpg', '/content/Car Images/Train Images/Volvo 240 Sedan 1993/05376.jpg', '/content/Car Images/Train Images/Volvo 240 Sedan 1993/07404.jpg', '/content/Car Images/Train Images/Volvo 240 Sedan 1993/01908.jpg', '/content/Car Images/Train Images/Volvo 240 Sedan 1993/03424.jpg', '/content/Car Images/Train Images/Volvo 240 Sedan 1993/05625.jpg', '/content/Car Images/Train Images/Volvo 240 Sedan 1993/00233.jpg', '/content/Car Images/Train Images/Volvo 240 Sedan 1993/00643.jpg', '/content/Car Images/Train Images/Volvo 240 Sedan 1993/00455.jpg', '/content/Car Images/Train Images/Volvo 240 Sedan 1993/03227.jpg', '/content/Car Images/Train Images/Volvo 240 Sedan 1993/01518.jpg', '/content/Car Images/Train Images/Volvo 240 Sedan 1993/07633.jpg', '/content/Car Images/Train Images/Volvo 240 Sedan 1993/05169.jpg', '/content/Car Images/Train Images/Volvo 240 Sedan 1993/02870.jpg', '/content/Car Images/Train Images/Volvo 240 Sedan 1993/00047.jpg', '/content/Car Images/Train Images/Volvo 240 Sedan 1993/02039.jpg', '/content/Car Images/Train Images/Volvo 240 Sedan 1993/01015.jpg', '/content/Car Images/Train Images/Volvo 240 Sedan 1993/07066.jpg', '/content/Car Images/Train Images/Volvo 240 Sedan 1993/02051.jpg', '/content/Car Images/Train Images/Volvo 240 Sedan 1993/01814.jpg', '/content/Car Images/Train Images/Jeep Grand Cherokee SUV 2012/01441.jpg', '/content/Car Images/Train Images/Jeep Grand Cherokee SUV 2012/07588.jpg', '/content/Car Images/Train Images/Jeep Grand Cherokee SUV 2012/02064.jpg', '/content/Car Images/Train Images/Jeep Grand Cherokee SUV 2012/03474.jpg', '/content/Car Images/Train Images/Jeep Grand Cherokee SUV 2012/03477.jpg', '/content/Car Images/Train Images/Jeep Grand Cherokee SUV 2012/00052.jpg', '/content/Car Images/Train Images/Jeep Grand Cherokee SUV 2012/02886.jpg', '/content/Car Images/Train Images/Jeep Grand Cherokee SUV 2012/06822.jpg', '/content/Car Images/Train Images/Jeep Grand Cherokee SUV 2012/02024.jpg', '/content/Car Images/Train Images/Jeep Grand Cherokee SUV 2012/07811.jpg', '/content/Car Images/Train Images/Jeep Grand Cherokee SUV 2012/07838.jpg', '/content/Car Images/Train Images/Jeep Grand Cherokee SUV 2012/04107.jpg', '/content/Car Images/Train Images/Jeep Grand Cherokee SUV 2012/05455.jpg', '/content/Car Images/Train Images/Jeep Grand Cherokee SUV 2012/01492.jpg', '/content/Car Images/Train Images/Jeep Grand Cherokee SUV 2012/02558.jpg', '/content/Car Images/Train Images/Jeep Grand Cherokee SUV 2012/02930.jpg', '/content/Car Images/Train Images/Jeep Grand Cherokee SUV 2012/06865.jpg', '/content/Car Images/Train Images/Jeep Grand Cherokee SUV 2012/03116.jpg', '/content/Car Images/Train Images/Jeep Grand Cherokee SUV 2012/02129.jpg', '/content/Car Images/Train Images/Jeep Grand Cherokee SUV 2012/02327.jpg', '/content/Car Images/Train Images/Jeep Grand Cherokee SUV 2012/06736.jpg', '/content/Car Images/Train Images/Jeep Grand Cherokee SUV 2012/05690.jpg', '/content/Car Images/Train Images/Jeep Grand Cherokee SUV 2012/06100.jpg', '/content/Car Images/Train Images/Jeep Grand Cherokee SUV 2012/03627.jpg', '/content/Car Images/Train Images/Jeep Grand Cherokee SUV 2012/00916.jpg', '/content/Car Images/Train Images/Jeep Grand Cherokee SUV 2012/05577.jpg', '/content/Car Images/Train Images/Jeep Grand Cherokee SUV 2012/04391.jpg', '/content/Car Images/Train Images/Jeep Grand Cherokee SUV 2012/01980.jpg', '/content/Car Images/Train Images/Jeep Grand Cherokee SUV 2012/07872.jpg', '/content/Car Images/Train Images/Jeep Grand Cherokee SUV 2012/06435.jpg', '/content/Car Images/Train Images/Jeep Grand Cherokee SUV 2012/06077.jpg', '/content/Car Images/Train Images/Jeep Grand Cherokee SUV 2012/08065.jpg', '/content/Car Images/Train Images/Jeep Grand Cherokee SUV 2012/04672.jpg', '/content/Car Images/Train Images/Jeep Grand Cherokee SUV 2012/03045.jpg', '/content/Car Images/Train Images/Jeep Grand Cherokee SUV 2012/05217.jpg', '/content/Car Images/Train Images/Jeep Grand Cherokee SUV 2012/03140.jpg', '/content/Car Images/Train Images/Jeep Grand Cherokee SUV 2012/03888.jpg', '/content/Car Images/Train Images/Jeep Grand Cherokee SUV 2012/01769.jpg', '/content/Car Images/Train Images/Jeep Grand Cherokee SUV 2012/01861.jpg', '/content/Car Images/Train Images/Jeep Grand Cherokee SUV 2012/03197.jpg', '/content/Car Images/Train Images/Jeep Grand Cherokee SUV 2012/02001.jpg', '/content/Car Images/Train Images/Jeep Grand Cherokee SUV 2012/07641.jpg', '/content/Car Images/Train Images/Jeep Grand Cherokee SUV 2012/03890.jpg', '/content/Car Images/Train Images/Jeep Grand Cherokee SUV 2012/06899.jpg', '/content/Car Images/Train Images/Jeep Grand Cherokee SUV 2012/02872.jpg', '/content/Car Images/Train Images/Jaguar XK XKR 2012/06238.jpg', '/content/Car Images/Train Images/Jaguar XK XKR 2012/07114.jpg', '/content/Car Images/Train Images/Jaguar XK XKR 2012/02907.jpg', '/content/Car Images/Train Images/Jaguar XK XKR 2012/03805.jpg', '/content/Car Images/Train Images/Jaguar XK XKR 2012/01840.jpg', '/content/Car Images/Train Images/Jaguar XK XKR 2012/04751.jpg', '/content/Car Images/Train Images/Jaguar XK XKR 2012/04081.jpg', '/content/Car Images/Train Images/Jaguar XK XKR 2012/04378.jpg', '/content/Car Images/Train Images/Jaguar XK XKR 2012/06275.jpg', '/content/Car Images/Train Images/Jaguar XK XKR 2012/02745.jpg', '/content/Car Images/Train Images/Jaguar XK XKR 2012/04217.jpg', '/content/Car Images/Train Images/Jaguar XK XKR 2012/00555.jpg', '/content/Car Images/Train Images/Jaguar XK XKR 2012/04926.jpg', '/content/Car Images/Train Images/Jaguar XK XKR 2012/04813.jpg', '/content/Car Images/Train Images/Jaguar XK XKR 2012/01119.jpg', '/content/Car Images/Train Images/Jaguar XK XKR 2012/01349.jpg', '/content/Car Images/Train Images/Jaguar XK XKR 2012/02497.jpg', '/content/Car Images/Train Images/Jaguar XK XKR 2012/00123.jpg', '/content/Car Images/Train Images/Jaguar XK XKR 2012/03591.jpg', '/content/Car Images/Train Images/Jaguar XK XKR 2012/04433.jpg', '/content/Car Images/Train Images/Jaguar XK XKR 2012/06417.jpg', '/content/Car Images/Train Images/Jaguar XK XKR 2012/01744.jpg', '/content/Car Images/Train Images/Jaguar XK XKR 2012/03515.jpg', '/content/Car Images/Train Images/Jaguar XK XKR 2012/02701.jpg', '/content/Car Images/Train Images/Jaguar XK XKR 2012/01455.jpg', '/content/Car Images/Train Images/Jaguar XK XKR 2012/05233.jpg', '/content/Car Images/Train Images/Jaguar XK XKR 2012/05153.jpg', '/content/Car Images/Train Images/Jaguar XK XKR 2012/02487.jpg', '/content/Car Images/Train Images/Jaguar XK XKR 2012/05311.jpg', '/content/Car Images/Train Images/Jaguar XK XKR 2012/06379.jpg', '/content/Car Images/Train Images/Jaguar XK XKR 2012/01989.jpg', '/content/Car Images/Train Images/Jaguar XK XKR 2012/01406.jpg', '/content/Car Images/Train Images/Jaguar XK XKR 2012/04540.jpg', '/content/Car Images/Train Images/Jaguar XK XKR 2012/01446.jpg', '/content/Car Images/Train Images/Jaguar XK XKR 2012/06439.jpg', '/content/Car Images/Train Images/Jaguar XK XKR 2012/00901.jpg', '/content/Car Images/Train Images/Jaguar XK XKR 2012/02159.jpg', '/content/Car Images/Train Images/Jaguar XK XKR 2012/06021.jpg', '/content/Car Images/Train Images/Jaguar XK XKR 2012/06900.jpg', '/content/Car Images/Train Images/Jaguar XK XKR 2012/06617.jpg', '/content/Car Images/Train Images/Jaguar XK XKR 2012/03743.jpg', '/content/Car Images/Train Images/Jaguar XK XKR 2012/04365.jpg', '/content/Car Images/Train Images/Jaguar XK XKR 2012/02875.jpg', '/content/Car Images/Train Images/Jaguar XK XKR 2012/01301.jpg', '/content/Car Images/Train Images/Jaguar XK XKR 2012/03409.jpg', '/content/Car Images/Train Images/Jaguar XK XKR 2012/04901.jpg', '/content/Car Images/Train Images/Jaguar XK XKR 2012/05950.jpg', '/content/Car Images/Train Images/Infiniti QX56 SUV 2011/07382.jpg', '/content/Car Images/Train Images/Infiniti QX56 SUV 2011/04532.jpg', '/content/Car Images/Train Images/Infiniti QX56 SUV 2011/03126.jpg', '/content/Car Images/Train Images/Infiniti QX56 SUV 2011/04856.jpg', '/content/Car Images/Train Images/Infiniti QX56 SUV 2011/01200.jpg', '/content/Car Images/Train Images/Infiniti QX56 SUV 2011/00180.jpg', '/content/Car Images/Train Images/Infiniti QX56 SUV 2011/06827.jpg', '/content/Car Images/Train Images/Infiniti QX56 SUV 2011/03788.jpg', '/content/Car Images/Train Images/Infiniti QX56 SUV 2011/03956.jpg', '/content/Car Images/Train Images/Infiniti QX56 SUV 2011/01466.jpg', '/content/Car Images/Train Images/Infiniti QX56 SUV 2011/04557.jpg', '/content/Car Images/Train Images/Infiniti QX56 SUV 2011/06955.jpg', '/content/Car Images/Train Images/Infiniti QX56 SUV 2011/05193.jpg', '/content/Car Images/Train Images/Infiniti QX56 SUV 2011/07207.jpg', '/content/Car Images/Train Images/Infiniti QX56 SUV 2011/05279.jpg', '/content/Car Images/Train Images/Infiniti QX56 SUV 2011/04524.jpg', '/content/Car Images/Train Images/Infiniti QX56 SUV 2011/07595.jpg', '/content/Car Images/Train Images/Infiniti QX56 SUV 2011/05966.jpg', '/content/Car Images/Train Images/Infiniti QX56 SUV 2011/07352.jpg', '/content/Car Images/Train Images/Infiniti QX56 SUV 2011/06930.jpg', '/content/Car Images/Train Images/Infiniti QX56 SUV 2011/01221.jpg', '/content/Car Images/Train Images/Infiniti QX56 SUV 2011/02413.jpg', '/content/Car Images/Train Images/Infiniti QX56 SUV 2011/07997.jpg', '/content/Car Images/Train Images/Infiniti QX56 SUV 2011/02120.jpg', '/content/Car Images/Train Images/Infiniti QX56 SUV 2011/05829.jpg', '/content/Car Images/Train Images/Infiniti QX56 SUV 2011/06569.jpg', '/content/Car Images/Train Images/Infiniti QX56 SUV 2011/00040.jpg', '/content/Car Images/Train Images/Infiniti QX56 SUV 2011/07309.jpg', '/content/Car Images/Train Images/Infiniti QX56 SUV 2011/00652.jpg', '/content/Car Images/Train Images/Infiniti QX56 SUV 2011/00291.jpg', '/content/Car Images/Train Images/Infiniti QX56 SUV 2011/06982.jpg', '/content/Car Images/Train Images/Infiniti QX56 SUV 2011/06681.jpg', '/content/Car Images/Train Images/Infiniti QX56 SUV 2011/04426.jpg', '/content/Car Images/Train Images/Jeep Wrangler SUV 2012/01462.jpg', '/content/Car Images/Train Images/Jeep Wrangler SUV 2012/04220.jpg', '/content/Car Images/Train Images/Jeep Wrangler SUV 2012/04422.jpg', '/content/Car Images/Train Images/Jeep Wrangler SUV 2012/07274.jpg', '/content/Car Images/Train Images/Jeep Wrangler SUV 2012/05736.jpg', '/content/Car Images/Train Images/Jeep Wrangler SUV 2012/03528.jpg', '/content/Car Images/Train Images/Jeep Wrangler SUV 2012/06908.jpg', '/content/Car Images/Train Images/Jeep Wrangler SUV 2012/04354.jpg', '/content/Car Images/Train Images/Jeep Wrangler SUV 2012/07391.jpg', '/content/Car Images/Train Images/Jeep Wrangler SUV 2012/05098.jpg', '/content/Car Images/Train Images/Jeep Wrangler SUV 2012/06429.jpg', '/content/Car Images/Train Images/Jeep Wrangler SUV 2012/07667.jpg', '/content/Car Images/Train Images/Jeep Wrangler SUV 2012/06659.jpg', '/content/Car Images/Train Images/Jeep Wrangler SUV 2012/01936.jpg', '/content/Car Images/Train Images/Jeep Wrangler SUV 2012/05189.jpg', '/content/Car Images/Train Images/Jeep Wrangler SUV 2012/02094.jpg', '/content/Car Images/Train Images/Jeep Wrangler SUV 2012/02043.jpg', '/content/Car Images/Train Images/Jeep Wrangler SUV 2012/04327.jpg', '/content/Car Images/Train Images/Jeep Wrangler SUV 2012/01592.jpg', '/content/Car Images/Train Images/Jeep Wrangler SUV 2012/00382.jpg', '/content/Car Images/Train Images/Jeep Wrangler SUV 2012/02819.jpg', '/content/Car Images/Train Images/Jeep Wrangler SUV 2012/00839.jpg', '/content/Car Images/Train Images/Jeep Wrangler SUV 2012/05551.jpg', '/content/Car Images/Train Images/Jeep Wrangler SUV 2012/06195.jpg', '/content/Car Images/Train Images/Jeep Wrangler SUV 2012/01621.jpg', '/content/Car Images/Train Images/Jeep Wrangler SUV 2012/07719.jpg', '/content/Car Images/Train Images/Jeep Wrangler SUV 2012/02571.jpg', '/content/Car Images/Train Images/Jeep Wrangler SUV 2012/04336.jpg', '/content/Car Images/Train Images/Jeep Wrangler SUV 2012/06797.jpg', '/content/Car Images/Train Images/Jeep Wrangler SUV 2012/02462.jpg', '/content/Car Images/Train Images/Jeep Wrangler SUV 2012/04656.jpg', '/content/Car Images/Train Images/Jeep Wrangler SUV 2012/02021.jpg', '/content/Car Images/Train Images/Jeep Wrangler SUV 2012/02652.jpg', '/content/Car Images/Train Images/Jeep Wrangler SUV 2012/04273.jpg', '/content/Car Images/Train Images/Jeep Wrangler SUV 2012/01667.jpg', '/content/Car Images/Train Images/Jeep Wrangler SUV 2012/05606.jpg', '/content/Car Images/Train Images/Jeep Wrangler SUV 2012/02390.jpg', '/content/Car Images/Train Images/Jeep Wrangler SUV 2012/01563.jpg', '/content/Car Images/Train Images/Jeep Wrangler SUV 2012/00935.jpg', '/content/Car Images/Train Images/Jeep Wrangler SUV 2012/03089.jpg', '/content/Car Images/Train Images/Jeep Wrangler SUV 2012/01154.jpg', '/content/Car Images/Train Images/Jeep Wrangler SUV 2012/04404.jpg', '/content/Car Images/Train Images/Jeep Wrangler SUV 2012/07294.jpg', '/content/Car Images/Train Images/BMW X6 SUV 2012/01438.jpg', '/content/Car Images/Train Images/BMW X6 SUV 2012/02410.jpg', '/content/Car Images/Train Images/BMW X6 SUV 2012/05273.jpg', '/content/Car Images/Train Images/BMW X6 SUV 2012/07678.jpg', '/content/Car Images/Train Images/BMW X6 SUV 2012/03570.jpg', '/content/Car Images/Train Images/BMW X6 SUV 2012/00579.jpg', '/content/Car Images/Train Images/BMW X6 SUV 2012/05058.jpg', '/content/Car Images/Train Images/BMW X6 SUV 2012/01681.jpg', '/content/Car Images/Train Images/BMW X6 SUV 2012/06714.jpg', '/content/Car Images/Train Images/BMW X6 SUV 2012/01991.jpg', '/content/Car Images/Train Images/BMW X6 SUV 2012/02850.jpg', '/content/Car Images/Train Images/BMW X6 SUV 2012/07767.jpg', '/content/Car Images/Train Images/BMW X6 SUV 2012/04149.jpg', '/content/Car Images/Train Images/BMW X6 SUV 2012/07292.jpg', '/content/Car Images/Train Images/BMW X6 SUV 2012/07363.jpg', '/content/Car Images/Train Images/BMW X6 SUV 2012/04803.jpg', '/content/Car Images/Train Images/BMW X6 SUV 2012/06598.jpg', '/content/Car Images/Train Images/BMW X6 SUV 2012/07119.jpg', '/content/Car Images/Train Images/BMW X6 SUV 2012/03237.jpg', '/content/Car Images/Train Images/BMW X6 SUV 2012/01990.jpg', '/content/Car Images/Train Images/BMW X6 SUV 2012/07718.jpg', '/content/Car Images/Train Images/BMW X6 SUV 2012/02509.jpg', '/content/Car Images/Train Images/BMW X6 SUV 2012/01473.jpg', '/content/Car Images/Train Images/BMW X6 SUV 2012/03677.jpg', '/content/Car Images/Train Images/BMW X6 SUV 2012/00977.jpg', '/content/Car Images/Train Images/BMW X6 SUV 2012/05314.jpg', '/content/Car Images/Train Images/BMW X6 SUV 2012/02975.jpg', '/content/Car Images/Train Images/BMW X6 SUV 2012/05535.jpg', '/content/Car Images/Train Images/BMW X6 SUV 2012/05443.jpg', '/content/Car Images/Train Images/BMW X6 SUV 2012/01672.jpg', '/content/Car Images/Train Images/BMW X6 SUV 2012/05877.jpg', '/content/Car Images/Train Images/BMW X6 SUV 2012/04067.jpg', '/content/Car Images/Train Images/BMW X6 SUV 2012/04434.jpg', '/content/Car Images/Train Images/BMW X6 SUV 2012/07417.jpg', '/content/Car Images/Train Images/BMW X6 SUV 2012/07407.jpg', '/content/Car Images/Train Images/BMW X6 SUV 2012/03736.jpg', '/content/Car Images/Train Images/BMW X6 SUV 2012/01580.jpg', '/content/Car Images/Train Images/BMW X6 SUV 2012/07651.jpg', '/content/Car Images/Train Images/BMW X6 SUV 2012/02999.jpg', '/content/Car Images/Train Images/BMW X6 SUV 2012/00930.jpg', '/content/Car Images/Train Images/BMW X6 SUV 2012/05685.jpg', '/content/Car Images/Train Images/BMW X6 SUV 2012/07131.jpg', '/content/Car Images/Train Images/Mitsubishi Lancer Sedan 2012/01875.jpg', '/content/Car Images/Train Images/Mitsubishi Lancer Sedan 2012/00246.jpg', '/content/Car Images/Train Images/Mitsubishi Lancer Sedan 2012/00506.jpg', '/content/Car Images/Train Images/Mitsubishi Lancer Sedan 2012/07520.jpg', '/content/Car Images/Train Images/Mitsubishi Lancer Sedan 2012/00747.jpg', '/content/Car Images/Train Images/Mitsubishi Lancer Sedan 2012/06791.jpg', '/content/Car Images/Train Images/Mitsubishi Lancer Sedan 2012/01106.jpg', '/content/Car Images/Train Images/Mitsubishi Lancer Sedan 2012/04135.jpg', '/content/Car Images/Train Images/Mitsubishi Lancer Sedan 2012/05283.jpg', '/content/Car Images/Train Images/Mitsubishi Lancer Sedan 2012/07013.jpg', '/content/Car Images/Train Images/Mitsubishi Lancer Sedan 2012/06980.jpg', '/content/Car Images/Train Images/Mitsubishi Lancer Sedan 2012/05588.jpg', '/content/Car Images/Train Images/Mitsubishi Lancer Sedan 2012/05836.jpg', '/content/Car Images/Train Images/Mitsubishi Lancer Sedan 2012/01548.jpg', '/content/Car Images/Train Images/Mitsubishi Lancer Sedan 2012/03326.jpg', '/content/Car Images/Train Images/Mitsubishi Lancer Sedan 2012/06950.jpg', '/content/Car Images/Train Images/Mitsubishi Lancer Sedan 2012/01049.jpg', '/content/Car Images/Train Images/Mitsubishi Lancer Sedan 2012/01720.jpg', '/content/Car Images/Train Images/Mitsubishi Lancer Sedan 2012/00251.jpg', '/content/Car Images/Train Images/Mitsubishi Lancer Sedan 2012/07251.jpg', '/content/Car Images/Train Images/Mitsubishi Lancer Sedan 2012/04909.jpg', '/content/Car Images/Train Images/Mitsubishi Lancer Sedan 2012/00508.jpg', '/content/Car Images/Train Images/Mitsubishi Lancer Sedan 2012/01078.jpg', '/content/Car Images/Train Images/Mitsubishi Lancer Sedan 2012/04570.jpg', '/content/Car Images/Train Images/Mitsubishi Lancer Sedan 2012/05626.jpg', '/content/Car Images/Train Images/Mitsubishi Lancer Sedan 2012/03548.jpg', '/content/Car Images/Train Images/Mitsubishi Lancer Sedan 2012/03124.jpg', '/content/Car Images/Train Images/Mitsubishi Lancer Sedan 2012/02826.jpg', '/content/Car Images/Train Images/Mitsubishi Lancer Sedan 2012/04773.jpg', '/content/Car Images/Train Images/Mitsubishi Lancer Sedan 2012/06482.jpg', '/content/Car Images/Train Images/Mitsubishi Lancer Sedan 2012/05582.jpg', '/content/Car Images/Train Images/Mitsubishi Lancer Sedan 2012/07180.jpg', '/content/Car Images/Train Images/Mitsubishi Lancer Sedan 2012/07494.jpg', '/content/Car Images/Train Images/Mitsubishi Lancer Sedan 2012/04766.jpg', '/content/Car Images/Train Images/Mitsubishi Lancer Sedan 2012/07936.jpg', '/content/Car Images/Train Images/Mitsubishi Lancer Sedan 2012/01674.jpg', '/content/Car Images/Train Images/Mitsubishi Lancer Sedan 2012/03931.jpg', '/content/Car Images/Train Images/Mitsubishi Lancer Sedan 2012/04455.jpg', '/content/Car Images/Train Images/Mitsubishi Lancer Sedan 2012/02373.jpg', '/content/Car Images/Train Images/Mitsubishi Lancer Sedan 2012/03338.jpg', '/content/Car Images/Train Images/Mitsubishi Lancer Sedan 2012/00009.jpg', '/content/Car Images/Train Images/Mitsubishi Lancer Sedan 2012/02405.jpg', '/content/Car Images/Train Images/Mitsubishi Lancer Sedan 2012/01470.jpg', '/content/Car Images/Train Images/Mitsubishi Lancer Sedan 2012/03230.jpg', '/content/Car Images/Train Images/Mitsubishi Lancer Sedan 2012/03042.jpg', '/content/Car Images/Train Images/Mitsubishi Lancer Sedan 2012/04071.jpg', '/content/Car Images/Train Images/Mitsubishi Lancer Sedan 2012/07748.jpg', '/content/Car Images/Train Images/Mitsubishi Lancer Sedan 2012/01109.jpg', '/content/Car Images/Train Images/Audi TT Hatchback 2011/07822.jpg', '/content/Car Images/Train Images/Audi TT Hatchback 2011/06335.jpg', '/content/Car Images/Train Images/Audi TT Hatchback 2011/01245.jpg', '/content/Car Images/Train Images/Audi TT Hatchback 2011/00723.jpg', '/content/Car Images/Train Images/Audi TT Hatchback 2011/03057.jpg', '/content/Car Images/Train Images/Audi TT Hatchback 2011/05392.jpg', '/content/Car Images/Train Images/Audi TT Hatchback 2011/03383.jpg', '/content/Car Images/Train Images/Audi TT Hatchback 2011/05572.jpg', '/content/Car Images/Train Images/Audi TT Hatchback 2011/03703.jpg', '/content/Car Images/Train Images/Audi TT Hatchback 2011/06277.jpg', '/content/Car Images/Train Images/Audi TT Hatchback 2011/00171.jpg', '/content/Car Images/Train Images/Audi TT Hatchback 2011/04061.jpg', '/content/Car Images/Train Images/Audi TT Hatchback 2011/00408.jpg', '/content/Car Images/Train Images/Audi TT Hatchback 2011/02267.jpg', '/content/Car Images/Train Images/Audi TT Hatchback 2011/04359.jpg', '/content/Car Images/Train Images/Audi TT Hatchback 2011/05408.jpg', '/content/Car Images/Train Images/Audi TT Hatchback 2011/07879.jpg', '/content/Car Images/Train Images/Audi TT Hatchback 2011/03698.jpg', '/content/Car Images/Train Images/Audi TT Hatchback 2011/05067.jpg', '/content/Car Images/Train Images/Audi TT Hatchback 2011/06094.jpg', '/content/Car Images/Train Images/Audi TT Hatchback 2011/05435.jpg', '/content/Car Images/Train Images/Audi TT Hatchback 2011/06553.jpg', '/content/Car Images/Train Images/Audi TT Hatchback 2011/06071.jpg', '/content/Car Images/Train Images/Audi TT Hatchback 2011/01954.jpg', '/content/Car Images/Train Images/Audi TT Hatchback 2011/04702.jpg', '/content/Car Images/Train Images/Audi TT Hatchback 2011/07313.jpg', '/content/Car Images/Train Images/Audi TT Hatchback 2011/01644.jpg', '/content/Car Images/Train Images/Audi TT Hatchback 2011/02539.jpg', '/content/Car Images/Train Images/Audi TT Hatchback 2011/04883.jpg', '/content/Car Images/Train Images/Audi TT Hatchback 2011/07312.jpg', '/content/Car Images/Train Images/Audi TT Hatchback 2011/07059.jpg', '/content/Car Images/Train Images/Audi TT Hatchback 2011/04944.jpg', '/content/Car Images/Train Images/Audi TT Hatchback 2011/02130.jpg', '/content/Car Images/Train Images/Audi TT Hatchback 2011/05448.jpg', '/content/Car Images/Train Images/Audi TT Hatchback 2011/05359.jpg', '/content/Car Images/Train Images/Audi TT Hatchback 2011/01534.jpg', '/content/Car Images/Train Images/Audi TT Hatchback 2011/00302.jpg', '/content/Car Images/Train Images/Audi TT Hatchback 2011/03758.jpg', '/content/Car Images/Train Images/Audi TT Hatchback 2011/06432.jpg', '/content/Car Images/Train Images/Audi TT Hatchback 2011/07142.jpg', '/content/Car Images/Train Images/Audi TT Hatchback 2011/06011.jpg', '/content/Car Images/Train Images/Scion xD Hatchback 2012/02293.jpg', '/content/Car Images/Train Images/Scion xD Hatchback 2012/02937.jpg', '/content/Car Images/Train Images/Scion xD Hatchback 2012/03161.jpg', '/content/Car Images/Train Images/Scion xD Hatchback 2012/03186.jpg', '/content/Car Images/Train Images/Scion xD Hatchback 2012/05088.jpg', '/content/Car Images/Train Images/Scion xD Hatchback 2012/01302.jpg', '/content/Car Images/Train Images/Scion xD Hatchback 2012/00466.jpg', '/content/Car Images/Train Images/Scion xD Hatchback 2012/04498.jpg', '/content/Car Images/Train Images/Scion xD Hatchback 2012/06479.jpg', '/content/Car Images/Train Images/Scion xD Hatchback 2012/05770.jpg', '/content/Car Images/Train Images/Scion xD Hatchback 2012/02147.jpg', '/content/Car Images/Train Images/Scion xD Hatchback 2012/02822.jpg', '/content/Car Images/Train Images/Scion xD Hatchback 2012/04852.jpg', '/content/Car Images/Train Images/Scion xD Hatchback 2012/02249.jpg', '/content/Car Images/Train Images/Scion xD Hatchback 2012/06927.jpg', '/content/Car Images/Train Images/Scion xD Hatchback 2012/08123.jpg', '/content/Car Images/Train Images/Scion xD Hatchback 2012/00448.jpg', '/content/Car Images/Train Images/Scion xD Hatchback 2012/01725.jpg', '/content/Car Images/Train Images/Scion xD Hatchback 2012/02186.jpg', '/content/Car Images/Train Images/Scion xD Hatchback 2012/04965.jpg', '/content/Car Images/Train Images/Scion xD Hatchback 2012/03004.jpg', '/content/Car Images/Train Images/Scion xD Hatchback 2012/07372.jpg', '/content/Car Images/Train Images/Scion xD Hatchback 2012/07806.jpg', '/content/Car Images/Train Images/Scion xD Hatchback 2012/05742.jpg', '/content/Car Images/Train Images/Scion xD Hatchback 2012/07149.jpg', '/content/Car Images/Train Images/Scion xD Hatchback 2012/04185.jpg', '/content/Car Images/Train Images/Scion xD Hatchback 2012/04160.jpg', '/content/Car Images/Train Images/Scion xD Hatchback 2012/05039.jpg', '/content/Car Images/Train Images/Scion xD Hatchback 2012/01498.jpg', '/content/Car Images/Train Images/Scion xD Hatchback 2012/00137.jpg', '/content/Car Images/Train Images/Scion xD Hatchback 2012/03476.jpg', '/content/Car Images/Train Images/Scion xD Hatchback 2012/01467.jpg', '/content/Car Images/Train Images/Scion xD Hatchback 2012/06213.jpg', '/content/Car Images/Train Images/Scion xD Hatchback 2012/06872.jpg', '/content/Car Images/Train Images/Scion xD Hatchback 2012/05225.jpg', '/content/Car Images/Train Images/Scion xD Hatchback 2012/01794.jpg', '/content/Car Images/Train Images/Scion xD Hatchback 2012/02931.jpg', '/content/Car Images/Train Images/Scion xD Hatchback 2012/03493.jpg', '/content/Car Images/Train Images/Scion xD Hatchback 2012/06844.jpg', '/content/Car Images/Train Images/Scion xD Hatchback 2012/04417.jpg', '/content/Car Images/Train Images/Scion xD Hatchback 2012/04635.jpg', '/content/Car Images/Train Images/Scion xD Hatchback 2012/07306.jpg', '/content/Car Images/Train Images/Acura TL Type-S 2008/00392.jpg', '/content/Car Images/Train Images/Acura TL Type-S 2008/06302.jpg', '/content/Car Images/Train Images/Acura TL Type-S 2008/03238.jpg', '/content/Car Images/Train Images/Acura TL Type-S 2008/07661.jpg', '/content/Car Images/Train Images/Acura TL Type-S 2008/04349.jpg', '/content/Car Images/Train Images/Acura TL Type-S 2008/07752.jpg', '/content/Car Images/Train Images/Acura TL Type-S 2008/06145.jpg', '/content/Car Images/Train Images/Acura TL Type-S 2008/05125.jpg', '/content/Car Images/Train Images/Acura TL Type-S 2008/03241.jpg', '/content/Car Images/Train Images/Acura TL Type-S 2008/02240.jpg', '/content/Car Images/Train Images/Acura TL Type-S 2008/02274.jpg', '/content/Car Images/Train Images/Acura TL Type-S 2008/01264.jpg', '/content/Car Images/Train Images/Acura TL Type-S 2008/06614.jpg', '/content/Car Images/Train Images/Acura TL Type-S 2008/03795.jpg', '/content/Car Images/Train Images/Acura TL Type-S 2008/07050.jpg', '/content/Car Images/Train Images/Acura TL Type-S 2008/03607.jpg', '/content/Car Images/Train Images/Acura TL Type-S 2008/07463.jpg', '/content/Car Images/Train Images/Acura TL Type-S 2008/05979.jpg', '/content/Car Images/Train Images/Acura TL Type-S 2008/07364.jpg', '/content/Car Images/Train Images/Acura TL Type-S 2008/04482.jpg', '/content/Car Images/Train Images/Acura TL Type-S 2008/03102.jpg', '/content/Car Images/Train Images/Acura TL Type-S 2008/05057.jpg', '/content/Car Images/Train Images/Acura TL Type-S 2008/07706.jpg', '/content/Car Images/Train Images/Acura TL Type-S 2008/03512.jpg', '/content/Car Images/Train Images/Acura TL Type-S 2008/03467.jpg', '/content/Car Images/Train Images/Acura TL Type-S 2008/06099.jpg', '/content/Car Images/Train Images/Acura TL Type-S 2008/00920.jpg', '/content/Car Images/Train Images/Acura TL Type-S 2008/05307.jpg', '/content/Car Images/Train Images/Acura TL Type-S 2008/07445.jpg', '/content/Car Images/Train Images/Acura TL Type-S 2008/03051.jpg', '/content/Car Images/Train Images/Acura TL Type-S 2008/05324.jpg', '/content/Car Images/Train Images/Acura TL Type-S 2008/06422.jpg', '/content/Car Images/Train Images/Acura TL Type-S 2008/00697.jpg', '/content/Car Images/Train Images/Acura TL Type-S 2008/07191.jpg', '/content/Car Images/Train Images/Acura TL Type-S 2008/07214.jpg', '/content/Car Images/Train Images/Acura TL Type-S 2008/03165.jpg', '/content/Car Images/Train Images/Acura TL Type-S 2008/03243.jpg', '/content/Car Images/Train Images/Acura TL Type-S 2008/07916.jpg', '/content/Car Images/Train Images/Acura TL Type-S 2008/05405.jpg', '/content/Car Images/Train Images/Acura TL Type-S 2008/02913.jpg', '/content/Car Images/Train Images/Acura TL Type-S 2008/02124.jpg', '/content/Car Images/Train Images/Acura TL Type-S 2008/04511.jpg', '/content/Car Images/Train Images/Bentley Continental GT Coupe 2012/01051.jpg', '/content/Car Images/Train Images/Bentley Continental GT Coupe 2012/04929.jpg', '/content/Car Images/Train Images/Bentley Continental GT Coupe 2012/07385.jpg', '/content/Car Images/Train Images/Bentley Continental GT Coupe 2012/06005.jpg', '/content/Car Images/Train Images/Bentley Continental GT Coupe 2012/00117.jpg', '/content/Car Images/Train Images/Bentley Continental GT Coupe 2012/07692.jpg', '/content/Car Images/Train Images/Bentley Continental GT Coupe 2012/06800.jpg', '/content/Car Images/Train Images/Bentley Continental GT Coupe 2012/00055.jpg', '/content/Car Images/Train Images/Bentley Continental GT Coupe 2012/07168.jpg', '/content/Car Images/Train Images/Bentley Continental GT Coupe 2012/03560.jpg', '/content/Car Images/Train Images/Bentley Continental GT Coupe 2012/00050.jpg', '/content/Car Images/Train Images/Bentley Continental GT Coupe 2012/07964.jpg', '/content/Car Images/Train Images/Bentley Continental GT Coupe 2012/04613.jpg', '/content/Car Images/Train Images/Bentley Continental GT Coupe 2012/06072.jpg', '/content/Car Images/Train Images/Bentley Continental GT Coupe 2012/05769.jpg', '/content/Car Images/Train Images/Bentley Continental GT Coupe 2012/05095.jpg', '/content/Car Images/Train Images/Bentley Continental GT Coupe 2012/00551.jpg', '/content/Car Images/Train Images/Bentley Continental GT Coupe 2012/01753.jpg', '/content/Car Images/Train Images/Bentley Continental GT Coupe 2012/00351.jpg', '/content/Car Images/Train Images/Bentley Continental GT Coupe 2012/03413.jpg', '/content/Car Images/Train Images/Bentley Continental GT Coupe 2012/00926.jpg', '/content/Car Images/Train Images/Bentley Continental GT Coupe 2012/07754.jpg', '/content/Car Images/Train Images/Bentley Continental GT Coupe 2012/05603.jpg', '/content/Car Images/Train Images/Bentley Continental GT Coupe 2012/08073.jpg', '/content/Car Images/Train Images/Bentley Continental GT Coupe 2012/07157.jpg', '/content/Car Images/Train Images/Bentley Continental GT Coupe 2012/00160.jpg', '/content/Car Images/Train Images/Bentley Continental GT Coupe 2012/00456.jpg', '/content/Car Images/Train Images/Bentley Continental GT Coupe 2012/04126.jpg', ...]
Let use annotation data and assign them to correct images based on image name and mapping
annotations_path = "/content/drive/MyDrive/GreatLearning/capstone/Annotations.zip"
from zipfile import ZipFile
with ZipFile(annotations_path, 'r') as z:
z.extractall()
import pandas as pd
# Load the annotation files
train_annotation = pd.read_csv("/content/Annotations/Train Annotations.csv", header=None, skiprows=1)
test_annotation = pd.read_csv("/content/Annotations/Test Annotation.csv", header=None, skiprows=1)
# Set the column names for the annotations
train_annotation.columns = ["Image Name", "a", "b", "c", "d", "Image class"]
test_annotation.columns = ["Image Name", "a", "b", "c", "d", "Image class"]
# Create dictionaries to map the images to their respective annotations
train_dict = {}
for index, row in train_annotation.iterrows():
if row["Image Name"] not in train_dict:
train_dict[row["Image Name"]] = []
train_dict[row["Image Name"]].append([int(row[1])] + row[2:5].tolist())
test_dict = {}
for index, row in test_annotation.iterrows():
if row["Image Name"] not in test_dict:
test_dict[row["Image Name"]] = []
test_dict[row["Image Name"]].append([int(row[1])] + row[2:5].tolist())
# Create dictionaries to map the images to their respective classes
train_classes = {}
for index, row in train_annotation.iterrows():
train_classes[row["Image Name"]] = row["Image class"]
test_classes = {}
for index, row in test_annotation.iterrows():
test_classes[row["Image Name"]] = row["Image class"]
train_classes
{'00001.jpg': 14,
'00002.jpg': 3,
'00003.jpg': 91,
'00004.jpg': 134,
'00005.jpg': 106,
'00006.jpg': 123,
'00007.jpg': 89,
'00008.jpg': 96,
'00009.jpg': 167,
'00010.jpg': 58,
'00011.jpg': 49,
'00012.jpg': 186,
'00013.jpg': 135,
'00014.jpg': 85,
'00015.jpg': 193,
'00016.jpg': 172,
'00017.jpg': 14,
'00018.jpg': 73,
'00019.jpg': 192,
'00020.jpg': 57,
'00021.jpg': 79,
'00022.jpg': 36,
'00023.jpg': 120,
'00024.jpg': 170,
'00025.jpg': 194,
'00026.jpg': 134,
'00027.jpg': 184,
'00028.jpg': 86,
'00029.jpg': 180,
'00030.jpg': 194,
'00031.jpg': 154,
'00032.jpg': 139,
'00033.jpg': 66,
'00034.jpg': 133,
'00035.jpg': 154,
'00036.jpg': 104,
'00037.jpg': 38,
'00038.jpg': 97,
'00039.jpg': 105,
'00040.jpg': 142,
'00041.jpg': 13,
'00042.jpg': 191,
'00043.jpg': 119,
'00044.jpg': 38,
'00045.jpg': 186,
'00046.jpg': 25,
'00047.jpg': 194,
'00048.jpg': 177,
'00049.jpg': 173,
'00050.jpg': 42,
'00051.jpg': 91,
'00052.jpg': 148,
'00053.jpg': 15,
'00054.jpg': 97,
'00055.jpg': 42,
'00056.jpg': 53,
'00057.jpg': 44,
'00058.jpg': 65,
'00059.jpg': 90,
'00060.jpg': 124,
'00061.jpg': 114,
'00062.jpg': 190,
'00063.jpg': 101,
'00064.jpg': 187,
'00065.jpg': 8,
'00066.jpg': 17,
'00067.jpg': 111,
'00068.jpg': 122,
'00069.jpg': 5,
'00070.jpg': 29,
'00071.jpg': 126,
'00072.jpg': 94,
'00073.jpg': 106,
'00074.jpg': 106,
'00075.jpg': 188,
'00076.jpg': 59,
'00077.jpg': 110,
'00078.jpg': 43,
'00079.jpg': 133,
'00080.jpg': 111,
'00081.jpg': 8,
'00082.jpg': 192,
'00083.jpg': 18,
'00084.jpg': 116,
'00085.jpg': 49,
'00086.jpg': 145,
'00087.jpg': 49,
'00088.jpg': 170,
'00089.jpg': 20,
'00090.jpg': 114,
'00091.jpg': 165,
'00092.jpg': 138,
'00093.jpg': 175,
'00094.jpg': 112,
'00095.jpg': 122,
'00096.jpg': 104,
'00097.jpg': 57,
'00098.jpg': 51,
'00099.jpg': 37,
'00100.jpg': 71,
'00101.jpg': 193,
'00102.jpg': 105,
'00103.jpg': 61,
'00104.jpg': 74,
'00105.jpg': 133,
'00106.jpg': 162,
'00107.jpg': 131,
'00108.jpg': 88,
'00109.jpg': 121,
'00110.jpg': 180,
'00111.jpg': 180,
'00112.jpg': 137,
'00113.jpg': 133,
'00114.jpg': 71,
'00115.jpg': 83,
'00116.jpg': 110,
'00117.jpg': 42,
'00118.jpg': 177,
'00119.jpg': 147,
'00120.jpg': 161,
'00121.jpg': 109,
'00122.jpg': 28,
'00123.jpg': 144,
'00124.jpg': 53,
'00125.jpg': 29,
'00126.jpg': 66,
'00127.jpg': 79,
'00128.jpg': 13,
'00129.jpg': 136,
'00130.jpg': 143,
'00131.jpg': 171,
'00132.jpg': 89,
'00133.jpg': 135,
'00134.jpg': 161,
'00135.jpg': 58,
'00136.jpg': 122,
'00137.jpg': 178,
'00138.jpg': 56,
'00139.jpg': 184,
'00140.jpg': 191,
'00141.jpg': 40,
'00142.jpg': 60,
'00143.jpg': 155,
'00144.jpg': 71,
'00145.jpg': 140,
'00146.jpg': 42,
'00147.jpg': 76,
'00148.jpg': 187,
'00149.jpg': 86,
'00150.jpg': 8,
'00151.jpg': 5,
'00152.jpg': 47,
'00153.jpg': 30,
'00154.jpg': 18,
'00155.jpg': 149,
'00156.jpg': 174,
'00157.jpg': 138,
'00158.jpg': 179,
'00159.jpg': 24,
'00160.jpg': 42,
'00161.jpg': 73,
'00162.jpg': 176,
'00163.jpg': 1,
'00164.jpg': 37,
'00165.jpg': 36,
'00166.jpg': 108,
'00167.jpg': 41,
'00168.jpg': 40,
'00169.jpg': 119,
'00170.jpg': 119,
'00171.jpg': 19,
'00172.jpg': 163,
'00173.jpg': 120,
'00174.jpg': 54,
'00175.jpg': 116,
'00176.jpg': 66,
'00177.jpg': 50,
'00178.jpg': 122,
'00179.jpg': 155,
'00180.jpg': 142,
'00181.jpg': 68,
'00182.jpg': 170,
'00183.jpg': 161,
'00184.jpg': 161,
'00185.jpg': 133,
'00186.jpg': 125,
'00187.jpg': 160,
'00188.jpg': 93,
'00189.jpg': 183,
'00190.jpg': 45,
'00191.jpg': 143,
'00192.jpg': 189,
'00193.jpg': 48,
'00194.jpg': 176,
'00195.jpg': 77,
'00196.jpg': 190,
'00197.jpg': 110,
'00198.jpg': 6,
'00199.jpg': 191,
'00200.jpg': 16,
'00201.jpg': 12,
'00202.jpg': 90,
'00203.jpg': 188,
'00204.jpg': 128,
'00205.jpg': 23,
'00206.jpg': 11,
'00207.jpg': 93,
'00208.jpg': 8,
'00209.jpg': 63,
'00210.jpg': 173,
'00211.jpg': 176,
'00212.jpg': 72,
'00213.jpg': 195,
'00214.jpg': 114,
'00215.jpg': 72,
'00216.jpg': 119,
'00217.jpg': 18,
'00218.jpg': 77,
'00219.jpg': 18,
'00220.jpg': 107,
'00221.jpg': 10,
'00222.jpg': 196,
'00223.jpg': 99,
'00224.jpg': 88,
'00225.jpg': 121,
'00226.jpg': 111,
'00227.jpg': 61,
'00228.jpg': 141,
'00229.jpg': 136,
'00230.jpg': 183,
'00231.jpg': 106,
'00232.jpg': 84,
'00233.jpg': 194,
'00234.jpg': 132,
'00235.jpg': 111,
'00236.jpg': 7,
'00237.jpg': 65,
'00238.jpg': 26,
'00239.jpg': 16,
'00240.jpg': 138,
'00241.jpg': 170,
'00242.jpg': 102,
'00243.jpg': 168,
'00244.jpg': 7,
'00245.jpg': 61,
'00246.jpg': 167,
'00247.jpg': 137,
'00248.jpg': 177,
'00249.jpg': 153,
'00250.jpg': 190,
'00251.jpg': 167,
'00252.jpg': 105,
'00253.jpg': 50,
'00254.jpg': 131,
'00255.jpg': 6,
'00256.jpg': 21,
'00257.jpg': 31,
'00258.jpg': 51,
'00259.jpg': 187,
'00260.jpg': 134,
'00261.jpg': 16,
'00262.jpg': 103,
'00263.jpg': 40,
'00264.jpg': 69,
'00265.jpg': 55,
'00266.jpg': 17,
'00267.jpg': 46,
'00268.jpg': 74,
'00269.jpg': 185,
'00270.jpg': 122,
'00271.jpg': 174,
'00272.jpg': 100,
'00273.jpg': 69,
'00274.jpg': 20,
'00275.jpg': 130,
'00276.jpg': 132,
'00277.jpg': 173,
'00278.jpg': 156,
'00279.jpg': 47,
'00280.jpg': 107,
'00281.jpg': 151,
'00282.jpg': 61,
'00283.jpg': 105,
'00284.jpg': 94,
'00285.jpg': 194,
'00286.jpg': 195,
'00287.jpg': 91,
'00288.jpg': 189,
'00289.jpg': 15,
'00290.jpg': 140,
'00291.jpg': 142,
'00292.jpg': 10,
'00293.jpg': 104,
'00294.jpg': 48,
'00295.jpg': 50,
'00296.jpg': 120,
'00297.jpg': 87,
'00298.jpg': 177,
'00299.jpg': 147,
'00300.jpg': 169,
'00301.jpg': 121,
'00302.jpg': 19,
'00303.jpg': 31,
'00304.jpg': 156,
'00305.jpg': 143,
'00306.jpg': 83,
'00307.jpg': 58,
'00308.jpg': 6,
'00309.jpg': 127,
'00310.jpg': 131,
'00311.jpg': 15,
'00312.jpg': 73,
'00313.jpg': 24,
'00314.jpg': 87,
'00315.jpg': 170,
'00316.jpg': 123,
'00317.jpg': 158,
'00318.jpg': 11,
'00319.jpg': 47,
'00320.jpg': 7,
'00321.jpg': 94,
'00322.jpg': 75,
'00323.jpg': 182,
'00324.jpg': 186,
'00325.jpg': 128,
'00326.jpg': 193,
'00327.jpg': 180,
'00328.jpg': 62,
'00329.jpg': 114,
'00330.jpg': 166,
'00331.jpg': 181,
'00332.jpg': 101,
'00333.jpg': 103,
'00334.jpg': 22,
'00335.jpg': 125,
'00336.jpg': 112,
'00337.jpg': 38,
'00338.jpg': 106,
'00339.jpg': 56,
'00340.jpg': 9,
'00341.jpg': 67,
'00342.jpg': 169,
'00343.jpg': 147,
'00344.jpg': 145,
'00345.jpg': 113,
'00346.jpg': 63,
'00347.jpg': 145,
'00348.jpg': 55,
'00349.jpg': 89,
'00350.jpg': 86,
'00351.jpg': 42,
'00352.jpg': 143,
'00353.jpg': 117,
'00354.jpg': 57,
'00355.jpg': 170,
'00356.jpg': 115,
'00357.jpg': 39,
'00358.jpg': 29,
'00359.jpg': 58,
'00360.jpg': 70,
'00361.jpg': 119,
'00362.jpg': 50,
'00363.jpg': 128,
'00364.jpg': 53,
'00365.jpg': 53,
'00366.jpg': 32,
'00367.jpg': 177,
'00368.jpg': 59,
'00369.jpg': 128,
'00370.jpg': 10,
'00371.jpg': 83,
'00372.jpg': 168,
'00373.jpg': 172,
'00374.jpg': 6,
'00375.jpg': 176,
'00376.jpg': 135,
'00377.jpg': 133,
'00378.jpg': 156,
'00379.jpg': 54,
'00380.jpg': 99,
'00381.jpg': 125,
'00382.jpg': 146,
'00383.jpg': 58,
'00384.jpg': 59,
'00385.jpg': 141,
'00386.jpg': 56,
'00387.jpg': 63,
'00388.jpg': 131,
'00389.jpg': 48,
'00390.jpg': 160,
'00391.jpg': 166,
'00392.jpg': 4,
'00393.jpg': 195,
'00394.jpg': 147,
'00395.jpg': 131,
'00396.jpg': 165,
'00397.jpg': 23,
'00398.jpg': 40,
'00399.jpg': 26,
'00400.jpg': 181,
'00401.jpg': 88,
'00402.jpg': 17,
'00403.jpg': 110,
'00404.jpg': 180,
'00405.jpg': 10,
'00406.jpg': 75,
'00407.jpg': 59,
'00408.jpg': 19,
'00409.jpg': 189,
'00410.jpg': 5,
'00411.jpg': 14,
'00412.jpg': 176,
'00413.jpg': 80,
'00414.jpg': 86,
'00415.jpg': 55,
'00416.jpg': 112,
'00417.jpg': 50,
'00418.jpg': 57,
'00419.jpg': 73,
'00420.jpg': 99,
'00421.jpg': 152,
'00422.jpg': 162,
'00423.jpg': 85,
'00424.jpg': 5,
'00425.jpg': 7,
'00426.jpg': 194,
'00427.jpg': 117,
'00428.jpg': 179,
'00429.jpg': 73,
'00430.jpg': 185,
'00431.jpg': 187,
'00432.jpg': 163,
'00433.jpg': 164,
'00434.jpg': 171,
'00435.jpg': 64,
'00436.jpg': 51,
'00437.jpg': 99,
'00438.jpg': 26,
'00439.jpg': 49,
'00440.jpg': 107,
'00441.jpg': 115,
'00442.jpg': 190,
'00443.jpg': 143,
'00444.jpg': 79,
'00445.jpg': 180,
'00446.jpg': 24,
'00447.jpg': 162,
'00448.jpg': 178,
'00449.jpg': 180,
'00450.jpg': 15,
'00451.jpg': 189,
'00452.jpg': 108,
'00453.jpg': 121,
'00454.jpg': 49,
'00455.jpg': 194,
'00456.jpg': 42,
'00457.jpg': 118,
'00458.jpg': 108,
'00459.jpg': 84,
'00460.jpg': 182,
'00461.jpg': 179,
'00462.jpg': 1,
'00463.jpg': 89,
'00464.jpg': 133,
'00465.jpg': 187,
'00466.jpg': 178,
'00467.jpg': 14,
'00468.jpg': 111,
'00469.jpg': 93,
'00470.jpg': 92,
'00471.jpg': 18,
'00472.jpg': 140,
'00473.jpg': 65,
'00474.jpg': 129,
'00475.jpg': 183,
'00476.jpg': 141,
'00477.jpg': 124,
'00478.jpg': 174,
'00479.jpg': 120,
'00480.jpg': 109,
'00481.jpg': 15,
'00482.jpg': 184,
'00483.jpg': 90,
'00484.jpg': 126,
'00485.jpg': 77,
'00486.jpg': 58,
'00487.jpg': 48,
'00488.jpg': 56,
'00489.jpg': 105,
'00490.jpg': 29,
'00491.jpg': 121,
'00492.jpg': 61,
'00493.jpg': 114,
'00494.jpg': 173,
'00495.jpg': 86,
'00496.jpg': 81,
'00497.jpg': 185,
'00498.jpg': 119,
'00499.jpg': 159,
'00500.jpg': 84,
'00501.jpg': 161,
'00502.jpg': 88,
'00503.jpg': 9,
'00504.jpg': 129,
'00505.jpg': 129,
'00506.jpg': 167,
'00507.jpg': 130,
'00508.jpg': 167,
'00509.jpg': 21,
'00510.jpg': 114,
'00511.jpg': 99,
'00512.jpg': 104,
'00513.jpg': 40,
'00514.jpg': 109,
'00515.jpg': 162,
'00516.jpg': 53,
'00517.jpg': 43,
'00518.jpg': 109,
'00519.jpg': 162,
'00520.jpg': 67,
'00521.jpg': 153,
'00522.jpg': 1,
'00523.jpg': 115,
'00524.jpg': 126,
'00525.jpg': 76,
'00526.jpg': 108,
'00527.jpg': 191,
'00528.jpg': 121,
'00529.jpg': 61,
'00530.jpg': 161,
'00531.jpg': 141,
'00532.jpg': 80,
'00533.jpg': 135,
'00534.jpg': 139,
'00535.jpg': 154,
'00536.jpg': 54,
'00537.jpg': 172,
'00538.jpg': 107,
'00539.jpg': 139,
'00540.jpg': 72,
'00541.jpg': 122,
'00542.jpg': 86,
'00543.jpg': 186,
'00544.jpg': 179,
'00545.jpg': 147,
'00546.jpg': 34,
'00547.jpg': 47,
'00548.jpg': 13,
'00549.jpg': 13,
'00550.jpg': 98,
'00551.jpg': 42,
'00552.jpg': 46,
'00553.jpg': 187,
'00554.jpg': 138,
'00555.jpg': 144,
'00556.jpg': 163,
'00557.jpg': 184,
'00558.jpg': 82,
'00559.jpg': 162,
'00560.jpg': 107,
'00561.jpg': 21,
'00562.jpg': 59,
'00563.jpg': 130,
'00564.jpg': 72,
'00565.jpg': 183,
'00566.jpg': 29,
'00567.jpg': 92,
'00568.jpg': 138,
'00569.jpg': 58,
'00570.jpg': 125,
'00571.jpg': 131,
'00572.jpg': 183,
'00573.jpg': 170,
'00574.jpg': 82,
'00575.jpg': 121,
'00576.jpg': 119,
'00577.jpg': 71,
'00578.jpg': 12,
'00579.jpg': 33,
'00580.jpg': 191,
'00581.jpg': 49,
'00582.jpg': 138,
'00583.jpg': 193,
'00584.jpg': 185,
'00585.jpg': 89,
'00586.jpg': 190,
'00587.jpg': 152,
'00588.jpg': 76,
'00589.jpg': 41,
'00590.jpg': 181,
'00591.jpg': 50,
'00592.jpg': 34,
'00593.jpg': 80,
'00594.jpg': 174,
'00595.jpg': 69,
'00596.jpg': 123,
'00597.jpg': 75,
'00598.jpg': 28,
'00599.jpg': 186,
'00600.jpg': 20,
'00601.jpg': 63,
'00602.jpg': 20,
'00603.jpg': 16,
'00604.jpg': 77,
'00605.jpg': 160,
'00606.jpg': 98,
'00607.jpg': 59,
'00608.jpg': 150,
'00609.jpg': 123,
'00610.jpg': 145,
'00611.jpg': 80,
'00612.jpg': 79,
'00613.jpg': 169,
'00614.jpg': 115,
'00615.jpg': 75,
'00616.jpg': 98,
'00617.jpg': 124,
'00618.jpg': 89,
'00619.jpg': 123,
'00620.jpg': 58,
'00621.jpg': 145,
'00622.jpg': 52,
'00623.jpg': 36,
'00624.jpg': 84,
'00625.jpg': 133,
'00626.jpg': 54,
'00627.jpg': 137,
'00628.jpg': 91,
'00629.jpg': 131,
'00630.jpg': 76,
'00631.jpg': 5,
'00632.jpg': 24,
'00633.jpg': 157,
'00634.jpg': 9,
'00635.jpg': 9,
'00636.jpg': 153,
'00637.jpg': 101,
'00638.jpg': 13,
'00639.jpg': 37,
'00640.jpg': 150,
'00641.jpg': 182,
'00642.jpg': 23,
'00643.jpg': 194,
'00644.jpg': 109,
'00645.jpg': 69,
'00646.jpg': 83,
'00647.jpg': 51,
'00648.jpg': 136,
'00649.jpg': 140,
'00650.jpg': 32,
'00651.jpg': 182,
'00652.jpg': 142,
'00653.jpg': 16,
'00654.jpg': 61,
'00655.jpg': 175,
'00656.jpg': 185,
'00657.jpg': 38,
'00658.jpg': 164,
'00659.jpg': 127,
'00660.jpg': 11,
'00661.jpg': 61,
'00662.jpg': 125,
'00663.jpg': 84,
'00664.jpg': 29,
'00665.jpg': 156,
'00666.jpg': 184,
'00667.jpg': 135,
'00668.jpg': 80,
'00669.jpg': 70,
'00670.jpg': 2,
'00671.jpg': 137,
'00672.jpg': 119,
'00673.jpg': 86,
'00674.jpg': 119,
'00675.jpg': 38,
'00676.jpg': 61,
'00677.jpg': 100,
'00678.jpg': 27,
'00679.jpg': 101,
'00680.jpg': 136,
'00681.jpg': 20,
'00682.jpg': 90,
'00683.jpg': 185,
'00684.jpg': 25,
'00685.jpg': 137,
'00686.jpg': 15,
'00687.jpg': 140,
'00688.jpg': 140,
'00689.jpg': 24,
'00690.jpg': 12,
'00691.jpg': 2,
'00692.jpg': 58,
'00693.jpg': 86,
'00694.jpg': 62,
'00695.jpg': 111,
'00696.jpg': 122,
'00697.jpg': 4,
'00698.jpg': 51,
'00699.jpg': 129,
'00700.jpg': 5,
'00701.jpg': 31,
'00702.jpg': 138,
'00703.jpg': 115,
'00704.jpg': 137,
'00705.jpg': 95,
'00706.jpg': 145,
'00707.jpg': 1,
'00708.jpg': 164,
'00709.jpg': 36,
'00710.jpg': 46,
'00711.jpg': 169,
'00712.jpg': 149,
'00713.jpg': 86,
'00714.jpg': 60,
'00715.jpg': 114,
'00716.jpg': 38,
'00717.jpg': 106,
'00718.jpg': 145,
'00719.jpg': 184,
'00720.jpg': 80,
'00721.jpg': 117,
'00722.jpg': 74,
'00723.jpg': 19,
'00724.jpg': 51,
'00725.jpg': 63,
'00726.jpg': 165,
'00727.jpg': 151,
'00728.jpg': 73,
'00729.jpg': 129,
'00730.jpg': 159,
'00731.jpg': 103,
'00732.jpg': 41,
'00733.jpg': 24,
'00734.jpg': 165,
'00735.jpg': 130,
'00736.jpg': 179,
'00737.jpg': 88,
'00738.jpg': 55,
'00739.jpg': 58,
'00740.jpg': 3,
'00741.jpg': 111,
'00742.jpg': 5,
'00743.jpg': 87,
'00744.jpg': 137,
'00745.jpg': 61,
'00746.jpg': 41,
'00747.jpg': 167,
'00748.jpg': 69,
'00749.jpg': 44,
'00750.jpg': 24,
'00751.jpg': 55,
'00752.jpg': 168,
'00753.jpg': 106,
'00754.jpg': 95,
'00755.jpg': 12,
'00756.jpg': 153,
'00757.jpg': 124,
'00758.jpg': 49,
'00759.jpg': 47,
'00760.jpg': 170,
'00761.jpg': 87,
'00762.jpg': 172,
'00763.jpg': 174,
'00764.jpg': 165,
'00765.jpg': 21,
'00766.jpg': 174,
'00767.jpg': 22,
'00768.jpg': 82,
'00769.jpg': 61,
'00770.jpg': 24,
'00771.jpg': 168,
'00772.jpg': 20,
'00773.jpg': 1,
'00774.jpg': 91,
'00775.jpg': 138,
'00776.jpg': 119,
'00777.jpg': 120,
'00778.jpg': 180,
'00779.jpg': 68,
'00780.jpg': 18,
'00781.jpg': 88,
'00782.jpg': 101,
'00783.jpg': 79,
'00784.jpg': 103,
'00785.jpg': 22,
'00786.jpg': 191,
'00787.jpg': 141,
'00788.jpg': 115,
'00789.jpg': 162,
'00790.jpg': 131,
'00791.jpg': 135,
'00792.jpg': 35,
'00793.jpg': 24,
'00794.jpg': 139,
'00795.jpg': 51,
'00796.jpg': 184,
'00797.jpg': 191,
'00798.jpg': 27,
'00799.jpg': 172,
'00800.jpg': 107,
'00801.jpg': 103,
'00802.jpg': 163,
'00803.jpg': 24,
'00804.jpg': 166,
'00805.jpg': 190,
'00806.jpg': 92,
'00807.jpg': 121,
'00808.jpg': 119,
'00809.jpg': 160,
'00810.jpg': 111,
'00811.jpg': 117,
'00812.jpg': 68,
'00813.jpg': 139,
'00814.jpg': 82,
'00815.jpg': 137,
'00816.jpg': 57,
'00817.jpg': 143,
'00818.jpg': 160,
'00819.jpg': 135,
'00820.jpg': 63,
'00821.jpg': 78,
'00822.jpg': 152,
'00823.jpg': 62,
'00824.jpg': 114,
'00825.jpg': 23,
'00826.jpg': 110,
'00827.jpg': 132,
'00828.jpg': 163,
'00829.jpg': 63,
'00830.jpg': 52,
'00831.jpg': 61,
'00832.jpg': 113,
'00833.jpg': 135,
'00834.jpg': 120,
'00835.jpg': 24,
'00836.jpg': 177,
'00837.jpg': 78,
'00838.jpg': 193,
'00839.jpg': 146,
'00840.jpg': 58,
'00841.jpg': 151,
'00842.jpg': 114,
'00843.jpg': 159,
'00844.jpg': 171,
'00845.jpg': 188,
'00846.jpg': 86,
'00847.jpg': 159,
'00848.jpg': 160,
'00849.jpg': 60,
'00850.jpg': 134,
'00851.jpg': 195,
'00852.jpg': 195,
'00853.jpg': 153,
'00854.jpg': 71,
'00855.jpg': 137,
'00856.jpg': 41,
'00857.jpg': 118,
'00858.jpg': 2,
'00859.jpg': 30,
'00860.jpg': 104,
'00861.jpg': 102,
'00862.jpg': 119,
'00863.jpg': 77,
'00864.jpg': 103,
'00865.jpg': 17,
'00866.jpg': 52,
'00867.jpg': 87,
'00868.jpg': 88,
'00869.jpg': 187,
'00870.jpg': 28,
'00871.jpg': 45,
'00872.jpg': 55,
'00873.jpg': 163,
'00874.jpg': 70,
'00875.jpg': 96,
'00876.jpg': 75,
'00877.jpg': 78,
'00878.jpg': 6,
'00879.jpg': 91,
'00880.jpg': 8,
'00881.jpg': 191,
'00882.jpg': 182,
'00883.jpg': 131,
'00884.jpg': 91,
'00885.jpg': 193,
'00886.jpg': 47,
'00887.jpg': 1,
'00888.jpg': 14,
'00889.jpg': 163,
'00890.jpg': 169,
'00891.jpg': 185,
'00892.jpg': 189,
'00893.jpg': 107,
'00894.jpg': 126,
'00895.jpg': 133,
'00896.jpg': 44,
'00897.jpg': 44,
'00898.jpg': 6,
'00899.jpg': 20,
'00900.jpg': 175,
'00901.jpg': 144,
'00902.jpg': 189,
'00903.jpg': 99,
'00904.jpg': 171,
'00905.jpg': 73,
'00906.jpg': 188,
'00907.jpg': 122,
'00908.jpg': 53,
'00909.jpg': 62,
'00910.jpg': 40,
'00911.jpg': 138,
'00912.jpg': 7,
'00913.jpg': 152,
'00914.jpg': 149,
'00915.jpg': 95,
'00916.jpg': 148,
'00917.jpg': 92,
'00918.jpg': 20,
'00919.jpg': 132,
'00920.jpg': 4,
'00921.jpg': 185,
'00922.jpg': 55,
'00923.jpg': 51,
'00924.jpg': 67,
'00925.jpg': 73,
'00926.jpg': 42,
'00927.jpg': 174,
'00928.jpg': 57,
'00929.jpg': 66,
'00930.jpg': 33,
'00931.jpg': 191,
'00932.jpg': 59,
'00933.jpg': 181,
'00934.jpg': 23,
'00935.jpg': 146,
'00936.jpg': 15,
'00937.jpg': 141,
'00938.jpg': 43,
'00939.jpg': 171,
'00940.jpg': 21,
'00941.jpg': 126,
'00942.jpg': 62,
'00943.jpg': 50,
'00944.jpg': 46,
'00945.jpg': 108,
'00946.jpg': 1,
'00947.jpg': 107,
'00948.jpg': 80,
'00949.jpg': 116,
'00950.jpg': 191,
'00951.jpg': 95,
'00952.jpg': 195,
'00953.jpg': 172,
'00954.jpg': 195,
'00955.jpg': 81,
'00956.jpg': 20,
'00957.jpg': 75,
'00958.jpg': 192,
'00959.jpg': 151,
'00960.jpg': 108,
'00961.jpg': 161,
'00962.jpg': 189,
'00963.jpg': 55,
'00964.jpg': 116,
'00965.jpg': 61,
'00966.jpg': 27,
'00967.jpg': 68,
'00968.jpg': 61,
'00969.jpg': 96,
'00970.jpg': 52,
'00971.jpg': 34,
'00972.jpg': 169,
'00973.jpg': 92,
'00974.jpg': 115,
'00975.jpg': 16,
'00976.jpg': 190,
'00977.jpg': 33,
'00978.jpg': 62,
'00979.jpg': 87,
'00980.jpg': 101,
'00981.jpg': 50,
'00982.jpg': 156,
'00983.jpg': 128,
'00984.jpg': 181,
'00985.jpg': 37,
'00986.jpg': 133,
'00987.jpg': 40,
'00988.jpg': 23,
'00989.jpg': 53,
'00990.jpg': 161,
'00991.jpg': 31,
'00992.jpg': 168,
'00993.jpg': 115,
'00994.jpg': 112,
'00995.jpg': 63,
'00996.jpg': 104,
'00997.jpg': 60,
'00998.jpg': 58,
'00999.jpg': 58,
'01000.jpg': 119,
...}
import pandas as pd
# Load the annotation files
#train_annotation = pd.read_csv("Annotations/Train Annotations.csv", header=None, skiprows=1)
#test_annotation = pd.read_csv("Annotations/Test Annotation.csv", header=None, skiprows=1)
# Set the column names for the annotations
train_annotation.columns = ["Image Name", "a", "b", "c", "d", "Image class"]
test_annotation.columns = ["Image Name", "a", "b", "c", "d", "Image class"]
# Create dictionaries to map the images to their respective annotations
train_dict = {}
for index, row in train_annotation.iterrows():
if row["Image Name"] not in train_dict:
train_dict[row["Image Name"]] = []
train_dict[row["Image Name"]].append([int(row[1])] + row[2:5].tolist())
test_dict = {}
for index, row in test_annotation.iterrows():
if row["Image Name"] not in test_dict:
test_dict[row["Image Name"]] = []
test_dict[row["Image Name"]].append([int(row[1])] + row[2:5].tolist())
# Remove the header from the dictionary keys
train_dict = {k:v for k,v in train_dict.items() if k != "Image Name"}
test_dict = {k:v for k,v in test_dict.items() if k != "Image Name"}
train_dict
{'00001.jpg': [[39, 116, 569, 375]],
'00002.jpg': [[36, 116, 868, 587]],
'00003.jpg': [[85, 109, 601, 381]],
'00004.jpg': [[621, 393, 1484, 1096]],
'00005.jpg': [[14, 36, 133, 99]],
'00006.jpg': [[259, 289, 515, 416]],
'00007.jpg': [[88, 80, 541, 397]],
'00008.jpg': [[73, 79, 591, 410]],
'00009.jpg': [[20, 126, 1269, 771]],
'00010.jpg': [[21, 110, 623, 367]],
'00011.jpg': [[51, 93, 601, 393]],
'00012.jpg': [[6, 62, 499, 286]],
'00013.jpg': [[30, 36, 418, 307]],
'00014.jpg': [[31, 246, 778, 540]],
'00015.jpg': [[32, 77, 589, 379]],
'00016.jpg': [[27, 49, 611, 396]],
'00017.jpg': [[39, 52, 233, 150]],
'00018.jpg': [[3, 8, 190, 147]],
'00019.jpg': [[247, 287, 1366, 761]],
'00020.jpg': [[17, 281, 961, 596]],
'00021.jpg': [[17, 156, 695, 375]],
'00022.jpg': [[212, 538, 1893, 1131]],
'00023.jpg': [[11, 28, 476, 234]],
'00024.jpg': [[53, 126, 973, 621]],
'00025.jpg': [[34, 87, 567, 343]],
'00026.jpg': [[30, 174, 598, 379]],
'00027.jpg': [[80, 107, 606, 336]],
'00028.jpg': [[45, 115, 585, 382]],
'00029.jpg': [[28, 139, 1564, 1126]],
'00030.jpg': [[82, 109, 874, 521]],
'00031.jpg': [[55, 318, 446, 564]],
'00032.jpg': [[12, 31, 471, 350]],
'00033.jpg': [[34, 197, 1011, 656]],
'00034.jpg': [[37, 63, 614, 397]],
'00035.jpg': [[223, 87, 1111, 670]],
'00036.jpg': [[138, 41, 521, 223]],
'00037.jpg': [[31, 87, 616, 344]],
'00038.jpg': [[16, 89, 459, 326]],
'00039.jpg': [[53, 113, 614, 350]],
'00040.jpg': [[214, 110, 660, 403]],
'00041.jpg': [[61, 55, 566, 408]],
'00042.jpg': [[28, 61, 622, 371]],
'00043.jpg': [[22, 39, 588, 362]],
'00044.jpg': [[220, 193, 537, 364]],
'00045.jpg': [[12, 108, 489, 297]],
'00046.jpg': [[28, 80, 759, 466]],
'00047.jpg': [[84, 248, 1102, 899]],
'00048.jpg': [[142, 69, 753, 451]],
'00049.jpg': [[166, 543, 887, 903]],
'00050.jpg': [[20, 96, 564, 341]],
'00051.jpg': [[41, 181, 607, 465]],
'00052.jpg': [[39, 29, 774, 395]],
'00053.jpg': [[161, 191, 425, 307]],
'00054.jpg': [[58, 562, 1528, 1081]],
'00055.jpg': [[80, 120, 582, 391]],
'00056.jpg': [[32, 48, 472, 267]],
'00057.jpg': [[260, 138, 972, 439]],
'00058.jpg': [[11, 35, 256, 173]],
'00059.jpg': [[68, 91, 607, 354]],
'00060.jpg': [[129, 120, 345, 269]],
'00061.jpg': [[11, 104, 1011, 742]],
'00062.jpg': [[19, 21, 425, 265]],
'00063.jpg': [[175, 330, 928, 647]],
'00064.jpg': [[97, 39, 925, 700]],
'00065.jpg': [[63, 175, 417, 320]],
'00066.jpg': [[30, 39, 221, 125]],
'00067.jpg': [[129, 89, 594, 432]],
'00068.jpg': [[32, 43, 598, 350]],
'00069.jpg': [[142, 124, 675, 445]],
'00070.jpg': [[220, 313, 1054, 976]],
'00071.jpg': [[8, 12, 639, 299]],
'00072.jpg': [[92, 271, 1178, 749]],
'00073.jpg': [[15, 12, 314, 230]],
'00074.jpg': [[14, 12, 309, 223]],
'00075.jpg': [[45, 74, 522, 253]],
'00076.jpg': [[12, 27, 284, 166]],
'00077.jpg': [[25, 25, 3502, 2017]],
'00078.jpg': [[36, 88, 611, 417]],
'00079.jpg': [[165, 126, 749, 425]],
'00080.jpg': [[20, 21, 292, 217]],
'00081.jpg': [[10, 55, 540, 271]],
'00082.jpg': [[63, 113, 597, 413]],
'00083.jpg': [[55, 48, 294, 205]],
'00084.jpg': [[27, 67, 620, 474]],
'00085.jpg': [[15, 80, 629, 402]],
'00086.jpg': [[119, 300, 1416, 871]],
'00087.jpg': [[17, 36, 455, 215]],
'00088.jpg': [[171, 176, 2373, 1751]],
'00089.jpg': [[49, 195, 1003, 617]],
'00090.jpg': [[5, 43, 296, 211]],
'00091.jpg': [[49, 57, 494, 419]],
'00092.jpg': [[101, 84, 492, 272]],
'00093.jpg': [[23, 53, 258, 144]],
'00094.jpg': [[19, 60, 783, 440]],
'00095.jpg': [[110, 171, 1213, 648]],
'00096.jpg': [[39, 67, 346, 206]],
'00097.jpg': [[3, 7, 76, 50]],
'00098.jpg': [[65, 37, 578, 360]],
'00099.jpg': [[27, 60, 486, 364]],
'00100.jpg': [[22, 180, 454, 355]],
'00101.jpg': [[70, 39, 940, 742]],
'00102.jpg': [[99, 130, 396, 222]],
'00103.jpg': [[85, 107, 609, 381]],
'00104.jpg': [[1, 76, 480, 315]],
'00105.jpg': [[57, 266, 967, 623]],
'00106.jpg': [[69, 75, 236, 161]],
'00107.jpg': [[24, 17, 249, 163]],
'00108.jpg': [[7, 27, 212, 147]],
'00109.jpg': [[18, 14, 248, 168]],
'00110.jpg': [[19, 2, 591, 387]],
'00111.jpg': [[52, 6, 759, 513]],
'00112.jpg': [[231, 103, 430, 226]],
'00113.jpg': [[91, 148, 700, 582]],
'00114.jpg': [[19, 72, 624, 397]],
'00115.jpg': [[26, 90, 376, 243]],
'00116.jpg': [[132, 120, 667, 401]],
'00117.jpg': [[84, 44, 663, 342]],
'00118.jpg': [[87, 235, 591, 412]],
'00119.jpg': [[173, 370, 1207, 960]],
'00120.jpg': [[3, 19, 195, 114]],
'00121.jpg': [[49, 143, 487, 455]],
'00122.jpg': [[72, 67, 233, 176]],
'00123.jpg': [[151, 568, 1954, 1271]],
'00124.jpg': [[14, 88, 271, 178]],
'00125.jpg': [[135, 761, 1894, 1353]],
'00126.jpg': [[44, 123, 778, 487]],
'00127.jpg': [[69, 103, 537, 322]],
'00128.jpg': [[86, 78, 355, 284]],
'00129.jpg': [[50, 80, 592, 273]],
'00130.jpg': [[95, 161, 543, 368]],
'00131.jpg': [[275, 195, 863, 474]],
'00132.jpg': [[99, 78, 557, 389]],
'00133.jpg': [[11, 126, 426, 360]],
'00134.jpg': [[1, 2, 267, 185]],
'00135.jpg': [[19, 735, 2669, 2192]],
'00136.jpg': [[21, 35, 279, 195]],
'00137.jpg': [[45, 99, 593, 403]],
'00138.jpg': [[130, 282, 1425, 900]],
'00139.jpg': [[72, 215, 628, 481]],
'00140.jpg': [[62, 95, 633, 434]],
'00141.jpg': [[13, 106, 476, 260]],
'00142.jpg': [[78, 300, 952, 633]],
'00143.jpg': [[72, 51, 566, 412]],
'00144.jpg': [[66, 59, 283, 202]],
'00145.jpg': [[135, 36, 1181, 885]],
'00146.jpg': [[2, 5, 298, 162]],
'00147.jpg': [[8, 12, 770, 309]],
'00148.jpg': [[24, 78, 608, 379]],
'00149.jpg': [[34, 1, 242, 179]],
'00150.jpg': [[11, 208, 596, 386]],
'00151.jpg': [[8, 37, 294, 150]],
'00152.jpg': [[23, 66, 499, 311]],
'00153.jpg': [[6, 138, 627, 361]],
'00154.jpg': [[17, 105, 385, 243]],
'00155.jpg': [[76, 4, 1585, 1120]],
'00156.jpg': [[22, 21, 211, 139]],
'00157.jpg': [[32, 130, 973, 661]],
'00158.jpg': [[75, 236, 1196, 846]],
'00159.jpg': [[37, 139, 988, 694]],
'00160.jpg': [[114, 46, 546, 287]],
'00161.jpg': [[12, 83, 629, 354]],
'00162.jpg': [[38, 66, 548, 385]],
'00163.jpg': [[46, 84, 661, 428]],
'00164.jpg': [[13, 29, 239, 174]],
'00165.jpg': [[27, 65, 490, 220]],
'00166.jpg': [[4, 69, 402, 245]],
'00167.jpg': [[19, 27, 429, 258]],
'00168.jpg': [[110, 96, 565, 389]],
'00169.jpg': [[2, 22, 140, 81]],
'00170.jpg': [[48, 71, 615, 453]],
'00171.jpg': [[41, 42, 262, 170]],
'00172.jpg': [[6, 108, 493, 267]],
'00173.jpg': [[26, 61, 508, 342]],
'00174.jpg': [[13, 29, 249, 159]],
'00175.jpg': [[69, 120, 739, 502]],
'00176.jpg': [[45, 85, 1005, 558]],
'00177.jpg': [[98, 22, 650, 302]],
'00178.jpg': [[5, 28, 285, 148]],
'00179.jpg': [[42, 113, 601, 439]],
'00180.jpg': [[3, 40, 297, 157]],
'00181.jpg': [[84, 256, 913, 752]],
'00182.jpg': [[43, 226, 1001, 630]],
'00183.jpg': [[2, 9, 196, 125]],
'00184.jpg': [[34, 51, 604, 344]],
'00185.jpg': [[24, 35, 620, 438]],
'00186.jpg': [[6, 72, 255, 178]],
'00187.jpg': [[4, 408, 1600, 934]],
'00188.jpg': [[25, 162, 1241, 764]],
'00189.jpg': [[18, 15, 583, 421]],
'00190.jpg': [[198, 416, 1271, 935]],
'00191.jpg': [[129, 75, 654, 422]],
'00192.jpg': [[37, 24, 259, 212]],
'00193.jpg': [[82, 107, 990, 723]],
'00194.jpg': [[187, 327, 1211, 769]],
'00195.jpg': [[150, 339, 1313, 771]],
'00196.jpg': [[26, 46, 266, 213]],
'00197.jpg': [[47, 102, 492, 371]],
'00198.jpg': [[91, 121, 574, 357]],
'00199.jpg': [[151, 298, 1285, 835]],
'00200.jpg': [[30, 55, 301, 187]],
'00201.jpg': [[21, 1, 386, 200]],
'00202.jpg': [[233, 217, 1228, 807]],
'00203.jpg': [[30, 167, 945, 545]],
'00204.jpg': [[11, 61, 284, 151]],
'00205.jpg': [[29, 70, 612, 356]],
'00206.jpg': [[117, 222, 558, 434]],
'00207.jpg': [[31, 119, 438, 258]],
'00208.jpg': [[26, 151, 360, 256]],
'00209.jpg': [[58, 136, 973, 636]],
'00210.jpg': [[8, 80, 639, 366]],
'00211.jpg': [[11, 47, 598, 365]],
'00212.jpg': [[8, 20, 254, 155]],
'00213.jpg': [[37, 62, 261, 191]],
'00214.jpg': [[70, 78, 915, 640]],
'00215.jpg': [[38, 50, 221, 138]],
'00216.jpg': [[21, 45, 133, 88]],
'00217.jpg': [[45, 39, 594, 444]],
'00218.jpg': [[39, 94, 337, 245]],
'00219.jpg': [[89, 1, 597, 316]],
'00220.jpg': [[16, 103, 462, 347]],
'00221.jpg': [[29, 21, 477, 299]],
'00222.jpg': [[89, 58, 545, 338]],
'00223.jpg': [[42, 115, 299, 288]],
'00224.jpg': [[19, 10, 177, 134]],
'00225.jpg': [[20, 50, 463, 313]],
'00226.jpg': [[46, 15, 202, 156]],
'00227.jpg': [[36, 63, 613, 397]],
'00228.jpg': [[237, 156, 896, 365]],
'00229.jpg': [[5, 46, 255, 138]],
'00230.jpg': [[223, 542, 3692, 2478]],
'00231.jpg': [[73, 109, 606, 374]],
'00232.jpg': [[15, 110, 544, 381]],
'00233.jpg': [[276, 124, 1495, 951]],
'00234.jpg': [[99, 364, 1211, 954]],
'00235.jpg': [[59, 63, 549, 404]],
'00236.jpg': [[19, 138, 571, 424]],
'00237.jpg': [[11, 10, 396, 265]],
'00238.jpg': [[163, 91, 527, 346]],
'00239.jpg': [[4, 19, 255, 172]],
'00240.jpg': [[45, 60, 251, 171]],
'00241.jpg': [[32, 59, 1011, 709]],
'00242.jpg': [[10, 53, 273, 167]],
'00243.jpg': [[270, 228, 727, 416]],
'00244.jpg': [[21, 93, 479, 331]],
'00245.jpg': [[22, 59, 536, 238]],
'00246.jpg': [[1, 317, 1280, 945]],
'00247.jpg': [[47, 125, 850, 468]],
'00248.jpg': [[52, 167, 508, 387]],
'00249.jpg': [[6, 155, 631, 450]],
'00250.jpg': [[11, 35, 246, 186]],
'00251.jpg': [[576, 466, 2994, 1953]],
'00252.jpg': [[37, 50, 253, 158]],
'00253.jpg': [[51, 105, 579, 335]],
'00254.jpg': [[21, 11, 296, 141]],
'00255.jpg': [[29, 78, 734, 396]],
'00256.jpg': [[85, 215, 776, 511]],
'00257.jpg': [[23, 146, 617, 329]],
'00258.jpg': [[34, 86, 227, 166]],
'00259.jpg': [[75, 254, 2514, 1929]],
'00260.jpg': [[28, 164, 698, 417]],
'00261.jpg': [[32, 79, 378, 221]],
'00262.jpg': [[158, 132, 501, 293]],
'00263.jpg': [[177, 299, 730, 673]],
'00264.jpg': [[42, 72, 472, 299]],
'00265.jpg': [[15, 74, 387, 195]],
'00266.jpg': [[22, 300, 786, 552]],
'00267.jpg': [[25, 133, 620, 374]],
'00268.jpg': [[49, 53, 596, 398]],
'00269.jpg': [[29, 192, 605, 391]],
'00270.jpg': [[15, 70, 357, 186]],
'00271.jpg': [[11, 23, 141, 80]],
'00272.jpg': [[8, 1, 590, 327]],
'00273.jpg': [[37, 65, 458, 321]],
'00274.jpg': [[31, 69, 435, 310]],
'00275.jpg': [[165, 183, 495, 358]],
'00276.jpg': [[75, 93, 529, 360]],
'00277.jpg': [[72, 193, 926, 613]],
'00278.jpg': [[1, 38, 251, 135]],
'00279.jpg': [[16, 31, 553, 297]],
'00280.jpg': [[3, 33, 261, 176]],
'00281.jpg': [[214, 240, 387, 342]],
'00282.jpg': [[20, 97, 460, 356]],
'00283.jpg': [[112, 190, 664, 342]],
'00284.jpg': [[49, 101, 942, 619]],
'00285.jpg': [[7, 20, 634, 298]],
'00286.jpg': [[116, 143, 769, 713]],
'00287.jpg': [[56, 299, 1266, 721]],
'00288.jpg': [[60, 46, 258, 138]],
'00289.jpg': [[205, 197, 741, 425]],
'00290.jpg': [[68, 30, 620, 506]],
'00291.jpg': [[27, 147, 573, 471]],
'00292.jpg': [[133, 73, 806, 251]],
'00293.jpg': [[24, 27, 936, 380]],
'00294.jpg': [[11, 141, 629, 386]],
'00295.jpg': [[150, 114, 524, 433]],
'00296.jpg': [[18, 115, 618, 456]],
'00297.jpg': [[56, 157, 639, 455]],
'00298.jpg': [[49, 67, 362, 245]],
'00299.jpg': [[24, 66, 982, 711]],
'00300.jpg': [[41, 103, 994, 692]],
'00301.jpg': [[52, 36, 247, 189]],
'00302.jpg': [[1, 37, 296, 171]],
'00303.jpg': [[6, 47, 297, 193]],
'00304.jpg': [[14, 29, 235, 168]],
'00305.jpg': [[37, 21, 169, 122]],
'00306.jpg': [[37, 125, 582, 456]],
'00307.jpg': [[171, 63, 1187, 894]],
'00308.jpg': [[16, 136, 775, 418]],
'00309.jpg': [[50, 122, 589, 338]],
'00310.jpg': [[36, 43, 407, 319]],
'00311.jpg': [[1, 69, 280, 228]],
'00312.jpg': [[53, 79, 627, 464]],
'00313.jpg': [[13, 44, 477, 289]],
'00314.jpg': [[33, 71, 615, 435]],
'00315.jpg': [[555, 278, 1543, 1207]],
'00316.jpg': [[10, 29, 276, 164]],
'00317.jpg': [[2, 48, 300, 202]],
'00318.jpg': [[73, 159, 445, 376]],
'00319.jpg': [[38, 8, 564, 402]],
'00320.jpg': [[42, 17, 440, 282]],
'00321.jpg': [[42, 63, 593, 397]],
'00322.jpg': [[9, 304, 1009, 677]],
'00323.jpg': [[161, 263, 632, 415]],
'00324.jpg': [[15, 26, 199, 123]],
'00325.jpg': [[12, 21, 285, 142]],
'00326.jpg': [[29, 28, 432, 249]],
'00327.jpg': [[2, 6, 546, 298]],
'00328.jpg': [[41, 49, 244, 176]],
'00329.jpg': [[10, 105, 660, 475]],
'00330.jpg': [[168, 92, 333, 305]],
'00331.jpg': [[26, 81, 596, 391]],
'00332.jpg': [[76, 247, 396, 396]],
'00333.jpg': [[30, 110, 472, 316]],
'00334.jpg': [[179, 300, 1403, 894]],
'00335.jpg': [[23, 31, 236, 176]],
'00336.jpg': [[309, 598, 1767, 995]],
'00337.jpg': [[45, 55, 530, 308]],
'00338.jpg': [[14, 129, 441, 360]],
'00339.jpg': [[39, 5, 234, 174]],
'00340.jpg': [[139, 152, 488, 305]],
'00341.jpg': [[62, 116, 974, 610]],
'00342.jpg': [[152, 195, 502, 436]],
'00343.jpg': [[63, 36, 760, 504]],
'00344.jpg': [[36, 59, 770, 397]],
'00345.jpg': [[26, 13, 234, 194]],
'00346.jpg': [[112, 21, 2859, 1928]],
'00347.jpg': [[100, 190, 907, 691]],
'00348.jpg': [[14, 59, 522, 266]],
'00349.jpg': [[42, 82, 956, 685]],
'00350.jpg': [[17, 52, 247, 158]],
'00351.jpg': [[13, 108, 454, 305]],
'00352.jpg': [[107, 40, 433, 240]],
'00353.jpg': [[3, 60, 499, 289]],
'00354.jpg': [[44, 212, 984, 596]],
'00355.jpg': [[28, 93, 1011, 675]],
'00356.jpg': [[187, 313, 1381, 1087]],
'00357.jpg': [[31, 47, 415, 255]],
'00358.jpg': [[53, 116, 562, 353]],
'00359.jpg': [[27, 71, 630, 422]],
'00360.jpg': [[12, 23, 245, 176]],
'00361.jpg': [[17, 64, 941, 620]],
'00362.jpg': [[108, 121, 539, 357]],
'00363.jpg': [[14, 60, 402, 300]],
'00364.jpg': [[15, 47, 286, 184]],
'00365.jpg': [[17, 82, 630, 496]],
'00366.jpg': [[67, 55, 508, 338]],
'00367.jpg': [[30, 118, 618, 334]],
'00368.jpg': [[14, 76, 292, 195]],
'00369.jpg': [[40, 52, 603, 357]],
'00370.jpg': [[57, 148, 568, 363]],
'00371.jpg': [[5, 56, 430, 245]],
'00372.jpg': [[2, 190, 371, 490]],
'00373.jpg': [[243, 318, 805, 629]],
'00374.jpg': [[9, 184, 740, 499]],
'00375.jpg': [[122, 48, 697, 401]],
'00376.jpg': [[74, 187, 917, 734]],
'00377.jpg': [[20, 48, 624, 453]],
'00378.jpg': [[16, 25, 290, 215]],
'00379.jpg': [[119, 194, 942, 586]],
'00380.jpg': [[137, 76, 600, 370]],
'00381.jpg': [[66, 88, 455, 322]],
'00382.jpg': [[4, 55, 494, 365]],
'00383.jpg': [[80, 1, 549, 431]],
'00384.jpg': [[51, 87, 489, 290]],
'00385.jpg': [[217, 199, 631, 358]],
'00386.jpg': [[65, 321, 1232, 828]],
'00387.jpg': [[47, 150, 1007, 635]],
'00388.jpg': [[18, 53, 244, 175]],
'00389.jpg': [[5, 96, 409, 262]],
'00390.jpg': [[14, 21, 782, 487]],
'00391.jpg': [[433, 262, 1339, 985]],
'00392.jpg': [[62, 220, 992, 667]],
'00393.jpg': [[110, 266, 986, 700]],
'00394.jpg': [[229, 126, 624, 345]],
'00395.jpg': [[58, 45, 205, 165]],
'00396.jpg': [[21, 99, 442, 295]],
'00397.jpg': [[30, 29, 282, 164]],
'00398.jpg': [[29, 93, 408, 242]],
'00399.jpg': [[121, 108, 655, 387]],
'00400.jpg': [[32, 51, 260, 153]],
'00401.jpg': [[24, 78, 366, 232]],
'00402.jpg': [[1, 18, 392, 240]],
'00403.jpg': [[299, 199, 1415, 894]],
'00404.jpg': [[30, 132, 724, 361]],
'00405.jpg': [[42, 37, 624, 328]],
'00406.jpg': [[1, 157, 990, 640]],
'00407.jpg': [[19, 136, 498, 329]],
'00408.jpg': [[49, 76, 343, 266]],
'00409.jpg': [[21, 66, 605, 463]],
'00410.jpg': [[31, 119, 404, 248]],
'00411.jpg': [[52, 47, 586, 260]],
'00412.jpg': [[195, 372, 1908, 1339]],
'00413.jpg': [[33, 150, 613, 401]],
'00414.jpg': [[316, 344, 1269, 891]],
'00415.jpg': [[81, 552, 1917, 1153]],
'00416.jpg': [[122, 157, 921, 587]],
'00417.jpg': [[63, 69, 603, 385]],
'00418.jpg': [[12, 70, 388, 273]],
'00419.jpg': [[50, 89, 584, 387]],
'00420.jpg': [[71, 64, 425, 328]],
'00421.jpg': [[71, 158, 690, 341]],
'00422.jpg': [[32, 74, 277, 203]],
'00423.jpg': [[69, 59, 637, 461]],
'00424.jpg': [[22, 83, 415, 322]],
'00425.jpg': [[48, 36, 572, 300]],
'00426.jpg': [[85, 318, 1223, 863]],
'00427.jpg': [[33, 128, 581, 458]],
'00428.jpg': [[33, 102, 595, 429]],
'00429.jpg': [[83, 182, 573, 402]],
'00430.jpg': [[82, 74, 589, 340]],
'00431.jpg': [[47, 201, 534, 426]],
'00432.jpg': [[54, 128, 429, 353]],
'00433.jpg': [[58, 189, 879, 642]],
'00434.jpg': [[18, 50, 280, 162]],
'00435.jpg': [[20, 75, 606, 325]],
'00436.jpg': [[20, 51, 271, 180]],
'00437.jpg': [[19, 67, 412, 314]],
'00438.jpg': [[52, 94, 543, 323]],
'00439.jpg': [[11, 89, 644, 415]],
'00440.jpg': [[12, 60, 456, 306]],
'00441.jpg': [[30, 35, 382, 235]],
'00442.jpg': [[53, 56, 391, 278]],
'00443.jpg': [[37, 60, 218, 144]],
'00444.jpg': [[4, 4, 377, 277]],
'00445.jpg': [[121, 169, 1387, 775]],
'00446.jpg': [[17, 41, 465, 293]],
'00447.jpg': [[43, 110, 462, 296]],
'00448.jpg': [[37, 67, 617, 437]],
'00449.jpg': [[66, 117, 506, 289]],
'00450.jpg': [[57, 59, 506, 288]],
'00451.jpg': [[66, 90, 507, 385]],
'00452.jpg': [[59, 42, 256, 165]],
'00453.jpg': [[65, 91, 391, 278]],
'00454.jpg': [[251, 299, 1423, 901]],
'00455.jpg': [[434, 136, 1528, 829]],
'00456.jpg': [[79, 63, 285, 171]],
'00457.jpg': [[79, 91, 600, 456]],
'00458.jpg': [[16, 96, 483, 277]],
'00459.jpg': [[39, 81, 597, 465]],
'00460.jpg': [[95, 139, 886, 541]],
'00461.jpg': [[111, 2, 553, 350]],
'00462.jpg': [[5, 8, 83, 58]],
'00463.jpg': [[113, 75, 1551, 1136]],
'00464.jpg': [[72, 216, 884, 579]],
'00465.jpg': [[53, 115, 565, 380]],
'00466.jpg': [[104, 261, 511, 480]],
'00467.jpg': [[47, 92, 209, 178]],
'00468.jpg': [[1, 18, 300, 147]],
'00469.jpg': [[13, 88, 483, 259]],
'00470.jpg': [[4, 9, 409, 193]],
'00471.jpg': [[3, 7, 253, 165]],
'00472.jpg': [[34, 315, 1832, 905]],
'00473.jpg': [[18, 38, 249, 178]],
'00474.jpg': [[70, 125, 389, 340]],
'00475.jpg': [[21, 85, 793, 389]],
'00476.jpg': [[95, 125, 585, 390]],
'00477.jpg': [[160, 175, 923, 623]],
'00478.jpg': [[9, 7, 98, 81]],
'00479.jpg': [[133, 38, 691, 514]],
'00480.jpg': [[29, 46, 239, 134]],
'00481.jpg': [[6, 44, 270, 175]],
'00482.jpg': [[80, 91, 589, 429]],
'00483.jpg': [[18, 26, 623, 342]],
'00484.jpg': [[29, 62, 509, 288]],
'00485.jpg': [[70, 118, 401, 299]],
'00486.jpg': [[43, 74, 587, 399]],
'00487.jpg': [[8, 23, 296, 167]],
'00488.jpg': [[28, 35, 207, 139]],
'00489.jpg': [[55, 78, 454, 272]],
'00490.jpg': [[21, 51, 233, 163]],
'00491.jpg': [[37, 14, 358, 288]],
'00492.jpg': [[13, 108, 612, 386]],
'00493.jpg': [[19, 116, 700, 400]],
'00494.jpg': [[39, 337, 1239, 711]],
'00495.jpg': [[111, 98, 863, 766]],
'00496.jpg': [[24, 132, 1021, 734]],
'00497.jpg': [[6, 79, 470, 287]],
'00498.jpg': [[78, 102, 560, 368]],
'00499.jpg': [[12, 31, 412, 249]],
'00500.jpg': [[11, 10, 291, 212]],
'00501.jpg': [[4, 30, 146, 86]],
'00502.jpg': [[1, 11, 101, 84]],
'00503.jpg': [[11, 48, 491, 237]],
'00504.jpg': [[45, 63, 237, 138]],
'00505.jpg': [[49, 88, 226, 172]],
'00506.jpg': [[26, 185, 764, 610]],
'00507.jpg': [[139, 206, 590, 395]],
'00508.jpg': [[85, 237, 1561, 1052]],
'00509.jpg': [[64, 130, 554, 341]],
'00510.jpg': [[10, 73, 613, 388]],
'00511.jpg': [[74, 43, 569, 407]],
'00512.jpg': [[27, 61, 265, 160]],
'00513.jpg': [[12, 164, 533, 351]],
'00514.jpg': [[18, 22, 292, 163]],
'00515.jpg': [[17, 70, 282, 166]],
'00516.jpg': [[18, 99, 613, 427]],
'00517.jpg': [[20, 205, 1008, 694]],
'00518.jpg': [[34, 57, 237, 178]],
'00519.jpg': [[7, 39, 254, 177]],
'00520.jpg': [[14, 59, 253, 142]],
'00521.jpg': [[122, 196, 512, 439]],
'00522.jpg': [[6, 7, 94, 68]],
'00523.jpg': [[33, 151, 1000, 528]],
'00524.jpg': [[38, 98, 590, 353]],
'00525.jpg': [[116, 148, 391, 318]],
'00526.jpg': [[26, 78, 245, 161]],
'00527.jpg': [[56, 3, 736, 271]],
'00528.jpg': [[38, 74, 213, 162]],
'00529.jpg': [[45, 44, 563, 415]],
'00530.jpg': [[25, 32, 236, 180]],
'00531.jpg': [[167, 396, 1945, 1016]],
'00532.jpg': [[26, 139, 607, 343]],
'00533.jpg': [[40, 68, 487, 263]],
'00534.jpg': [[17, 120, 563, 359]],
'00535.jpg': [[508, 240, 1379, 955]],
'00536.jpg': [[29, 116, 593, 409]],
'00537.jpg': [[1, 328, 758, 773]],
'00538.jpg': [[56, 214, 1544, 755]],
'00539.jpg': [[30, 11, 413, 316]],
'00540.jpg': [[3, 39, 300, 128]],
'00541.jpg': [[12, 52, 275, 208]],
'00542.jpg': [[25, 78, 600, 421]],
'00543.jpg': [[8, 79, 397, 240]],
'00544.jpg': [[9, 72, 633, 359]],
'00545.jpg': [[5, 569, 2040, 1468]],
'00546.jpg': [[40, 114, 350, 285]],
'00547.jpg': [[63, 110, 592, 351]],
'00548.jpg': [[11, 36, 247, 175]],
'00549.jpg': [[8, 5, 547, 267]],
'00550.jpg': [[11, 130, 394, 257]],
'00551.jpg': [[227, 315, 766, 532]],
'00552.jpg': [[4, 41, 281, 148]],
'00553.jpg': [[16, 95, 628, 339]],
'00554.jpg': [[41, 38, 299, 190]],
'00555.jpg': [[37, 89, 603, 317]],
'00556.jpg': [[101, 254, 938, 605]],
'00557.jpg': [[117, 15, 723, 513]],
'00558.jpg': [[54, 49, 528, 336]],
'00559.jpg': [[20, 65, 612, 409]],
'00560.jpg': [[7, 85, 250, 191]],
'00561.jpg': [[151, 169, 573, 425]],
'00562.jpg': [[65, 95, 368, 241]],
'00563.jpg': [[9, 78, 899, 520]],
'00564.jpg': [[45, 86, 600, 355]],
'00565.jpg': [[187, 117, 649, 492]],
'00566.jpg': [[520, 373, 1582, 1043]],
'00567.jpg': [[19, 34, 247, 159]],
'00568.jpg': [[30, 128, 402, 307]],
'00569.jpg': [[25, 234, 1179, 675]],
'00570.jpg': [[10, 44, 239, 193]],
'00571.jpg': [[18, 34, 255, 182]],
'00572.jpg': [[78, 245, 896, 604]],
'00573.jpg': [[141, 525, 1803, 1854]],
'00574.jpg': [[117, 95, 612, 362]],
'00575.jpg': [[13, 75, 632, 446]],
'00576.jpg': [[20, 24, 232, 156]],
'00577.jpg': [[51, 97, 669, 286]],
'00578.jpg': [[177, 229, 931, 789]],
'00579.jpg': [[71, 82, 368, 267]],
'00580.jpg': [[49, 241, 1573, 1075]],
'00581.jpg': [[310, 322, 1121, 691]],
'00582.jpg': [[2, 11, 222, 115]],
'00583.jpg': [[107, 66, 566, 314]],
'00584.jpg': [[133, 95, 827, 540]],
'00585.jpg': [[388, 220, 1340, 975]],
'00586.jpg': [[31, 105, 246, 194]],
'00587.jpg': [[23, 90, 504, 289]],
'00588.jpg': [[12, 56, 247, 155]],
'00589.jpg': [[41, 140, 558, 325]],
'00590.jpg': [[9, 16, 299, 204]],
'00591.jpg': [[66, 36, 573, 446]],
'00592.jpg': [[62, 128, 615, 389]],
'00593.jpg': [[13, 31, 245, 155]],
'00594.jpg': [[33, 85, 596, 395]],
'00595.jpg': [[91, 143, 582, 410]],
'00596.jpg': [[9, 53, 212, 132]],
'00597.jpg': [[62, 162, 607, 458]],
'00598.jpg': [[25, 84, 280, 198]],
'00599.jpg': [[33, 56, 408, 294]],
'00600.jpg': [[47, 14, 360, 181]],
'00601.jpg': [[28, 55, 974, 675]],
'00602.jpg': [[29, 24, 591, 388]],
'00603.jpg': [[4, 16, 213, 118]],
'00604.jpg': [[59, 155, 734, 459]],
'00605.jpg': [[117, 376, 1610, 1048]],
'00606.jpg': [[99, 72, 894, 675]],
'00607.jpg': [[73, 195, 570, 449]],
'00608.jpg': [[254, 283, 922, 469]],
'00609.jpg': [[19, 33, 223, 128]],
'00610.jpg': [[395, 247, 1812, 1254]],
'00611.jpg': [[19, 83, 618, 384]],
'00612.jpg': [[33, 98, 594, 391]],
'00613.jpg': [[24, 72, 589, 481]],
'00614.jpg': [[1, 18, 1022, 692]],
'00615.jpg': [[76, 135, 965, 665]],
'00616.jpg': [[61, 66, 737, 430]],
'00617.jpg': [[39, 83, 617, 477]],
'00618.jpg': [[42, 216, 998, 619]],
'00619.jpg': [[50, 37, 308, 210]],
'00620.jpg': [[107, 110, 994, 717]],
'00621.jpg': [[10, 28, 791, 520]],
'00622.jpg': [[35, 64, 549, 375]],
'00623.jpg': [[33, 142, 612, 396]],
'00624.jpg': [[52, 58, 446, 231]],
'00625.jpg': [[12, 41, 652, 341]],
'00626.jpg': [[30, 44, 384, 243]],
'00627.jpg': [[143, 89, 390, 238]],
'00628.jpg': [[16, 20, 291, 220]],
'00629.jpg': [[3, 10, 259, 193]],
'00630.jpg': [[133, 79, 660, 551]],
'00631.jpg': [[11, 8, 270, 160]],
'00632.jpg': [[59, 224, 869, 575]],
'00633.jpg': [[84, 285, 599, 699]],
'00634.jpg': [[15, 31, 286, 148]],
'00635.jpg': [[60, 91, 727, 405]],
'00636.jpg': [[37, 51, 370, 268]],
'00637.jpg': [[69, 43, 868, 467]],
'00638.jpg': [[3, 41, 258, 157]],
'00639.jpg': [[44, 125, 668, 483]],
'00640.jpg': [[33, 177, 583, 422]],
'00641.jpg': [[14, 113, 599, 417]],
'00642.jpg': [[37, 54, 261, 175]],
'00643.jpg': [[35, 118, 573, 332]],
'00644.jpg': [[55, 138, 588, 349]],
'00645.jpg': [[20, 13, 301, 113]],
'00646.jpg': [[8, 38, 266, 146]],
'00647.jpg': [[169, 428, 1393, 1001]],
'00648.jpg': [[14, 60, 223, 138]],
'00649.jpg': [[64, 153, 818, 423]],
'00650.jpg': [[64, 136, 439, 329]],
'00651.jpg': [[8, 147, 782, 511]],
'00652.jpg': [[6, 21, 318, 140]],
'00653.jpg': [[15, 46, 194, 109]],
'00654.jpg': [[55, 61, 799, 445]],
'00655.jpg': [[82, 185, 928, 579]],
'00656.jpg': [[43, 75, 445, 252]],
'00657.jpg': [[6, 15, 271, 160]],
'00658.jpg': [[192, 235, 1260, 878]],
'00659.jpg': [[136, 308, 893, 710]],
'00660.jpg': [[173, 132, 497, 296]],
'00661.jpg': [[8, 71, 421, 285]],
'00662.jpg': [[47, 57, 612, 455]],
'00663.jpg': [[49, 91, 675, 322]],
'00664.jpg': [[31, 66, 619, 425]],
'00665.jpg': [[12, 46, 239, 154]],
'00666.jpg': [[127, 137, 673, 352]],
'00667.jpg': [[21, 44, 453, 318]],
'00668.jpg': [[14, 48, 256, 164]],
'00669.jpg': [[12, 41, 246, 186]],
'00670.jpg': [[97, 49, 455, 326]],
'00671.jpg': [[24, 91, 506, 270]],
'00672.jpg': [[50, 16, 226, 184]],
'00673.jpg': [[25, 1, 259, 189]],
'00674.jpg': [[5, 16, 153, 102]],
'00675.jpg': [[103, 289, 1049, 584]],
'00676.jpg': [[35, 107, 620, 389]],
'00677.jpg': [[11, 34, 217, 140]],
'00678.jpg': [[105, 400, 978, 692]],
'00679.jpg': [[190, 229, 681, 454]],
'00680.jpg': [[59, 52, 247, 155]],
'00681.jpg': [[5, 32, 588, 340]],
'00682.jpg': [[11, 15, 297, 201]],
'00683.jpg': [[108, 1, 550, 295]],
'00684.jpg': [[68, 37, 698, 446]],
'00685.jpg': [[260, 498, 1700, 1030]],
'00686.jpg': [[30, 52, 385, 190]],
'00687.jpg': [[167, 84, 854, 575]],
'00688.jpg': [[75, 6, 864, 628]],
'00689.jpg': [[59, 63, 369, 293]],
'00690.jpg': [[111, 55, 346, 217]],
'00691.jpg': [[84, 189, 573, 376]],
'00692.jpg': [[48, 45, 589, 320]],
'00693.jpg': [[64, 103, 934, 617]],
'00694.jpg': [[14, 43, 221, 150]],
'00695.jpg': [[87, 80, 567, 458]],
'00696.jpg': [[2, 73, 567, 331]],
'00697.jpg': [[16, 55, 560, 382]],
'00698.jpg': [[29, 24, 219, 151]],
'00699.jpg': [[37, 36, 609, 376]],
'00700.jpg': [[93, 101, 404, 274]],
'00701.jpg': [[22, 49, 276, 181]],
'00702.jpg': [[567, 449, 1428, 988]],
'00703.jpg': [[21, 137, 472, 337]],
'00704.jpg': [[11, 29, 631, 435]],
'00705.jpg': [[17, 8, 343, 248]],
'00706.jpg': [[13, 20, 626, 446]],
'00707.jpg': [[26, 32, 677, 418]],
'00708.jpg': [[102, 298, 903, 609]],
'00709.jpg': [[129, 256, 729, 498]],
'00710.jpg': [[13, 34, 272, 147]],
'00711.jpg': [[29, 19, 623, 405]],
'00712.jpg': [[457, 414, 1308, 951]],
'00713.jpg': [[58, 82, 966, 720]],
'00714.jpg': [[75, 121, 603, 370]],
'00715.jpg': [[47, 89, 690, 441]],
'00716.jpg': [[8, 91, 257, 189]],
'00717.jpg': [[21, 31, 609, 359]],
'00718.jpg': [[296, 222, 1121, 607]],
'00719.jpg': [[118, 93, 380, 317]],
'00720.jpg': [[10, 62, 152, 117]],
'00721.jpg': [[74, 231, 418, 360]],
'00722.jpg': [[62, 102, 565, 405]],
'00723.jpg': [[25, 241, 751, 524]],
'00724.jpg': [[100, 27, 238, 125]],
'00725.jpg': [[206, 55, 808, 570]],
'00726.jpg': [[7, 85, 246, 182]],
'00727.jpg': [[1, 31, 208, 92]],
'00728.jpg': [[38, 66, 266, 181]],
'00729.jpg': [[64, 160, 420, 347]],
'00730.jpg': [[30, 56, 619, 395]],
'00731.jpg': [[30, 37, 608, 331]],
'00732.jpg': [[40, 349, 571, 613]],
'00733.jpg': [[289, 136, 555, 306]],
'00734.jpg': [[16, 157, 778, 520]],
'00735.jpg': [[10, 60, 894, 506]],
'00736.jpg': [[18, 4, 428, 251]],
'00737.jpg': [[39, 12, 216, 187]],
'00738.jpg': [[42, 153, 602, 389]],
'00739.jpg': [[29, 86, 601, 373]],
'00740.jpg': [[37, 77, 582, 342]],
'00741.jpg': [[41, 81, 629, 410]],
'00742.jpg': [[5, 25, 271, 177]],
'00743.jpg': [[45, 115, 627, 455]],
'00744.jpg': [[51, 52, 541, 364]],
'00745.jpg': [[32, 72, 591, 386]],
'00746.jpg': [[10, 18, 242, 181]],
'00747.jpg': [[213, 307, 763, 557]],
'00748.jpg': [[54, 39, 392, 188]],
'00749.jpg': [[15, 36, 271, 154]],
'00750.jpg': [[17, 70, 370, 257]],
'00751.jpg': [[66, 247, 978, 527]],
'00752.jpg': [[305, 270, 1439, 959]],
'00753.jpg': [[68, 128, 549, 419]],
'00754.jpg': [[60, 2, 578, 440]],
'00755.jpg': [[30, 32, 593, 296]],
'00756.jpg': [[21, 47, 580, 344]],
'00757.jpg': [[85, 118, 379, 290]],
'00758.jpg': [[30, 154, 771, 502]],
'00759.jpg': [[25, 99, 602, 388]],
'00760.jpg': [[100, 5, 1179, 862]],
'00761.jpg': [[57, 131, 570, 397]],
'00762.jpg': [[6, 106, 611, 372]],
'00763.jpg': [[66, 176, 588, 362]],
'00764.jpg': [[8, 106, 391, 262]],
'00765.jpg': [[6, 24, 297, 153]],
'00766.jpg': [[18, 92, 532, 297]],
'00767.jpg': [[106, 73, 805, 546]],
'00768.jpg': [[9, 33, 246, 161]],
'00769.jpg': [[61, 222, 959, 569]],
'00770.jpg': [[21, 45, 772, 547]],
'00771.jpg': [[22, 59, 626, 412]],
'00772.jpg': [[30, 31, 611, 453]],
'00773.jpg': [[33, 50, 197, 150]],
'00774.jpg': [[45, 199, 615, 432]],
'00775.jpg': [[82, 99, 565, 351]],
'00776.jpg': [[15, 45, 639, 420]],
'00777.jpg': [[18, 40, 491, 283]],
'00778.jpg': [[60, 17, 455, 322]],
'00779.jpg': [[17, 121, 555, 384]],
'00780.jpg': [[36, 63, 478, 234]],
'00781.jpg': [[38, 6, 595, 476]],
'00782.jpg': [[68, 95, 593, 319]],
'00783.jpg': [[156, 255, 955, 619]],
'00784.jpg': [[42, 163, 725, 382]],
'00785.jpg': [[19, 96, 469, 266]],
'00786.jpg': [[13, 32, 774, 529]],
'00787.jpg': [[114, 128, 800, 432]],
'00788.jpg': [[30, 105, 294, 233]],
'00789.jpg': [[23, 25, 245, 150]],
'00790.jpg': [[124, 406, 1546, 1120]],
'00791.jpg': [[9, 61, 334, 199]],
'00792.jpg': [[155, 59, 532, 361]],
'00793.jpg': [[7, 50, 394, 261]],
'00794.jpg': [[23, 102, 408, 265]],
'00795.jpg': [[9, 30, 251, 169]],
'00796.jpg': [[38, 213, 564, 436]],
'00797.jpg': [[135, 62, 922, 611]],
'00798.jpg': [[10, 1, 576, 261]],
'00799.jpg': [[11, 96, 625, 387]],
'00800.jpg': [[3, 73, 211, 148]],
'00801.jpg': [[57, 158, 351, 296]],
'00802.jpg': [[45, 140, 357, 247]],
'00803.jpg': [[36, 36, 549, 457]],
'00804.jpg': [[78, 31, 570, 419]],
'00805.jpg': [[15, 32, 296, 149]],
'00806.jpg': [[79, 171, 713, 385]],
'00807.jpg': [[13, 87, 630, 401]],
'00808.jpg': [[9, 46, 141, 94]],
'00809.jpg': [[58, 13, 579, 414]],
'00810.jpg': [[66, 18, 237, 185]],
'00811.jpg': [[49, 114, 577, 367]],
'00812.jpg': [[1, 63, 480, 315]],
'00813.jpg': [[32, 93, 941, 696]],
'00814.jpg': [[17, 35, 234, 167]],
'00815.jpg': [[34, 74, 473, 273]],
'00816.jpg': [[12, 34, 139, 78]],
'00817.jpg': [[28, 96, 477, 317]],
'00818.jpg': [[57, 220, 673, 468]],
'00819.jpg': [[8, 17, 388, 287]],
'00820.jpg': [[30, 116, 963, 523]],
'00821.jpg': [[37, 153, 411, 299]],
'00822.jpg': [[391, 169, 859, 401]],
'00823.jpg': [[15, 24, 144, 72]],
'00824.jpg': [[174, 243, 846, 546]],
'00825.jpg': [[3, 57, 455, 287]],
'00826.jpg': [[120, 90, 610, 359]],
'00827.jpg': [[165, 123, 645, 366]],
'00828.jpg': [[4, 91, 600, 308]],
'00829.jpg': [[191, 332, 1027, 663]],
'00830.jpg': [[159, 131, 533, 356]],
'00831.jpg': [[51, 55, 618, 377]],
'00832.jpg': [[14, 5, 246, 188]],
'00833.jpg': [[102, 85, 463, 360]],
'00834.jpg': [[26, 113, 612, 372]],
'00835.jpg': [[80, 158, 453, 345]],
'00836.jpg': [[27, 125, 425, 311]],
'00837.jpg': [[44, 112, 633, 374]],
'00838.jpg': [[20, 224, 988, 644]],
'00839.jpg': [[35, 19, 614, 435]],
'00840.jpg': [[105, 104, 626, 312]],
'00841.jpg': [[41, 67, 432, 286]],
'00842.jpg': [[42, 147, 753, 414]],
'00843.jpg': [[17, 31, 342, 242]],
'00844.jpg': [[30, 15, 639, 419]],
'00845.jpg': [[52, 16, 246, 168]],
'00846.jpg': [[39, 119, 558, 434]],
'00847.jpg': [[56, 23, 415, 334]],
'00848.jpg': [[21, 96, 755, 412]],
'00849.jpg': [[1, 125, 549, 372]],
'00850.jpg': [[47, 179, 1227, 812]],
'00851.jpg': [[9, 85, 335, 209]],
'00852.jpg': [[30, 308, 1511, 975]],
'00853.jpg': [[35, 258, 1218, 908]],
'00854.jpg': [[45, 41, 420, 280]],
'00855.jpg': [[29, 66, 614, 433]],
'00856.jpg': [[51, 105, 341, 189]],
'00857.jpg': [[57, 87, 569, 437]],
'00858.jpg': [[139, 416, 1954, 1149]],
'00859.jpg': [[11, 32, 575, 357]],
'00860.jpg': [[273, 145, 658, 366]],
'00861.jpg': [[83, 103, 500, 371]],
'00862.jpg': [[36, 47, 964, 444]],
'00863.jpg': [[26, 98, 623, 431]],
'00864.jpg': [[25, 128, 959, 450]],
'00865.jpg': [[11, 74, 392, 255]],
'00866.jpg': [[11, 79, 627, 480]],
'00867.jpg': [[20, 135, 557, 367]],
'00868.jpg': [[17, 38, 231, 152]],
'00869.jpg': [[35, 75, 592, 334]],
'00870.jpg': [[38, 74, 326, 205]],
'00871.jpg': [[373, 350, 780, 631]],
'00872.jpg': [[69, 109, 461, 284]],
'00873.jpg': [[517, 291, 765, 462]],
'00874.jpg': [[49, 142, 426, 307]],
'00875.jpg': [[34, 79, 749, 461]],
'00876.jpg': [[51, 121, 588, 387]],
'00877.jpg': [[61, 33, 241, 195]],
'00878.jpg': [[101, 162, 882, 650]],
'00879.jpg': [[16, 196, 670, 405]],
'00880.jpg': [[16, 99, 439, 254]],
'00881.jpg': [[18, 63, 885, 663]],
'00882.jpg': [[140, 122, 1059, 496]],
'00883.jpg': [[14, 29, 643, 408]],
'00884.jpg': [[14, 72, 245, 173]],
'00885.jpg': [[51, 31, 565, 352]],
'00886.jpg': [[111, 68, 393, 309]],
'00887.jpg': [[6, 9, 124, 89]],
'00888.jpg': [[7, 51, 253, 156]],
'00889.jpg': [[34, 400, 1555, 1153]],
'00890.jpg': [[26, 15, 698, 386]],
'00891.jpg': [[93, 106, 1160, 799]],
'00892.jpg': [[32, 48, 1534, 791]],
'00893.jpg': [[28, 134, 410, 316]],
'00894.jpg': [[11, 31, 578, 268]],
'00895.jpg': [[24, 108, 709, 375]],
'00896.jpg': [[61, 55, 258, 161]],
'00897.jpg': [[30, 34, 513, 274]],
'00898.jpg': [[89, 68, 483, 310]],
'00899.jpg': [[60, 93, 657, 353]],
'00900.jpg': [[64, 75, 256, 158]],
'00901.jpg': [[160, 59, 759, 346]],
'00902.jpg': [[6, 40, 256, 170]],
'00903.jpg': [[316, 393, 1755, 1074]],
'00904.jpg': [[15, 96, 504, 279]],
'00905.jpg': [[26, 81, 615, 365]],
'00906.jpg': [[68, 52, 435, 331]],
'00907.jpg': [[21, 73, 464, 294]],
'00908.jpg': [[18, 71, 632, 390]],
'00909.jpg': [[50, 63, 541, 346]],
'00910.jpg': [[33, 2, 593, 456]],
'00911.jpg': [[20, 76, 898, 612]],
'00912.jpg': [[82, 33, 542, 234]],
'00913.jpg': [[9, 51, 635, 414]],
'00914.jpg': [[40, 283, 1546, 964]],
'00915.jpg': [[206, 222, 746, 467]],
'00916.jpg': [[15, 70, 622, 378]],
'00917.jpg': [[11, 51, 442, 198]],
'00918.jpg': [[37, 180, 615, 445]],
'00919.jpg': [[127, 155, 525, 383]],
'00920.jpg': [[56, 23, 776, 372]],
'00921.jpg': [[88, 367, 1189, 730]],
'00922.jpg': [[10, 29, 444, 203]],
'00923.jpg': [[13, 23, 150, 82]],
'00924.jpg': [[14, 63, 287, 181]],
'00925.jpg': [[3, 135, 1199, 771]],
'00926.jpg': [[8, 37, 237, 142]],
'00927.jpg': [[25, 68, 618, 365]],
'00928.jpg': [[75, 130, 702, 396]],
'00929.jpg': [[22, 29, 498, 204]],
'00930.jpg': [[31, 89, 296, 187]],
'00931.jpg': [[86, 194, 570, 426]],
'00932.jpg': [[37, 57, 392, 294]],
'00933.jpg': [[48, 36, 576, 469]],
'00934.jpg': [[90, 31, 922, 699]],
'00935.jpg': [[3, 77, 615, 463]],
'00936.jpg': [[8, 13, 644, 255]],
'00937.jpg': [[18, 56, 223, 142]],
'00938.jpg': [[69, 59, 736, 415]],
'00939.jpg': [[11, 95, 619, 301]],
'00940.jpg': [[109, 113, 360, 233]],
'00941.jpg': [[57, 139, 537, 364]],
'00942.jpg': [[226, 220, 926, 543]],
'00943.jpg': [[249, 129, 699, 394]],
'00944.jpg': [[248, 169, 737, 454]],
'00945.jpg': [[31, 55, 216, 132]],
'00946.jpg': [[48, 24, 441, 202]],
'00947.jpg': [[12, 105, 417, 257]],
'00948.jpg': [[7, 69, 250, 176]],
'00949.jpg': [[48, 10, 197, 112]],
'00950.jpg': [[193, 196, 1372, 1075]],
'00951.jpg': [[115, 34, 733, 555]],
'00952.jpg': [[10, 26, 274, 162]],
'00953.jpg': [[151, 97, 842, 537]],
'00954.jpg': [[22, 12, 685, 330]],
'00955.jpg': [[37, 109, 692, 363]],
'00956.jpg': [[8, 17, 590, 298]],
'00957.jpg': [[116, 105, 948, 650]],
'00958.jpg': [[143, 229, 971, 598]],
'00959.jpg': [[125, 234, 848, 431]],
'00960.jpg': [[3, 56, 251, 148]],
'00961.jpg': [[1, 86, 585, 475]],
'00962.jpg': [[189, 64, 1363, 883]],
'00963.jpg': [[46, 76, 562, 265]],
'00964.jpg': [[32, 70, 370, 287]],
'00965.jpg': [[1, 97, 494, 375]],
'00966.jpg': [[18, 89, 626, 416]],
'00967.jpg': [[57, 108, 551, 400]],
'00968.jpg': [[8, 67, 800, 511]],
'00969.jpg': [[367, 292, 1199, 749]],
'00970.jpg': [[23, 27, 555, 326]],
'00971.jpg': [[32, 178, 597, 397]],
'00972.jpg': [[187, 91, 509, 315]],
'00973.jpg': [[41, 26, 842, 262]],
'00974.jpg': [[26, 118, 445, 306]],
'00975.jpg': [[44, 136, 581, 362]],
'00976.jpg': [[25, 64, 255, 138]],
'00977.jpg': [[127, 61, 597, 344]],
'00978.jpg': [[83, 106, 732, 434]],
'00979.jpg': [[37, 126, 963, 734]],
'00980.jpg': [[133, 165, 769, 535]],
'00981.jpg': [[28, 68, 1978, 1038]],
'00982.jpg': [[16, 52, 259, 174]],
'00983.jpg': [[78, 21, 521, 283]],
'00984.jpg': [[128, 250, 899, 571]],
'00985.jpg': [[79, 64, 281, 190]],
'00986.jpg': [[30, 114, 1001, 765]],
'00987.jpg': [[10, 25, 310, 221]],
'00988.jpg': [[394, 379, 1624, 1033]],
'00989.jpg': [[9, 34, 253, 157]],
'00990.jpg': [[5, 99, 638, 324]],
'00991.jpg': [[108, 62, 391, 327]],
'00992.jpg': [[59, 106, 581, 309]],
'00993.jpg': [[20, 222, 948, 654]],
'00994.jpg': [[55, 297, 664, 600]],
'00995.jpg': [[75, 186, 596, 571]],
'00996.jpg': [[3, 70, 333, 212]],
'00997.jpg': [[11, 84, 253, 182]],
'00998.jpg': [[96, 3, 635, 445]],
'00999.jpg': [[79, 75, 585, 355]],
'01000.jpg': [[214, 382, 1459, 1117]],
...}
import os
import cv2
import numpy as np
import random
import matplotlib.pyplot as plt
def display_images(image_names, bbox_dict, directory_path):
fig, ax = plt.subplots(1, 5, figsize=(20, 4))
for i, image_name in enumerate(image_names):
for root, dirs, files in os.walk(directory_path):
if image_name in files:
image_path = os.path.join(root, image_name)
image = cv2.imread(image_path)
bboxes = bbox_dict[image_name]
for bbox in bboxes:
label, x1, y1, x2, y2 = [image_name] + bbox
cv2.rectangle(image, (x1, y1), (x2, y2), (0, 255, 0), thickness=3)
cv2.putText(image, str(label), (x1, y1 - 10), cv2.FONT_HERSHEY_SIMPLEX, 1, (0, 255, 0), 2)
#cv2.imwrite(image_path, image)
ax[i].imshow(cv2.cvtColor(image, cv2.COLOR_BGR2RGB))
ax[i].set_title(image_name)
plt.show()
# Example usage Train Images
random_images = random.sample(list(train_dict.keys()), 5)
display_images(random_images, train_dict, "/content/Car Images/Train Images")
# Example usage Test Images
random_images = random.sample(list(test_dict.keys()), 5)
display_images(random_images, test_dict, "/content/Car Images/Test Images")
path = "/content/Car Images/Train Images"
pd.set_option('display.max_colwidth', None)
df = pd.DataFrame(columns=['Car Class', 'Count', 'Full Path'])
count = 0
for f in os.listdir(path):
#print(f)
newPath = os.path.join(path, f)
if os.path.isdir(newPath):
images = os.listdir(newPath) # your directory path
number_files = len(images)
df = pd.concat([df, pd.DataFrame.from_records([
{'Car Class' : os.path.basename(newPath),
'Count' : len(images),
'Full Path' : newPath
}])])
df.head()
| Car Class | Count | Full Path | |
|---|---|---|---|
| 0 | Hyundai Azera Sedan 2012 | 42 | /content/Car Images/Train Images/Hyundai Azera Sedan 2012 |
| 0 | Ford Expedition EL SUV 2009 | 45 | /content/Car Images/Train Images/Ford Expedition EL SUV 2009 |
| 0 | Chevrolet Impala Sedan 2007 | 43 | /content/Car Images/Train Images/Chevrolet Impala Sedan 2007 |
| 0 | Chevrolet Silverado 1500 Classic Extended Cab 2007 | 43 | /content/Car Images/Train Images/Chevrolet Silverado 1500 Classic Extended Cab 2007 |
| 0 | Hyundai Sonata Hybrid Sedan 2012 | 34 | /content/Car Images/Train Images/Hyundai Sonata Hybrid Sedan 2012 |
df['Car Company'] = pd.DataFrame(df['Car Class'].str.rsplit(' ', 0).str[0])
<ipython-input-19-6f6fed9f7fe4>:1: FutureWarning: In a future version of pandas all arguments of StringMethods.rsplit except for the argument 'pat' will be keyword-only.
df['Car Company'] = pd.DataFrame(df['Car Class'].str.rsplit(' ', 0).str[0])
df.head(5)
| Car Class | Count | Full Path | Car Company | |
|---|---|---|---|---|
| 0 | Hyundai Azera Sedan 2012 | 42 | /content/Car Images/Train Images/Hyundai Azera Sedan 2012 | Hyundai |
| 0 | Ford Expedition EL SUV 2009 | 45 | /content/Car Images/Train Images/Ford Expedition EL SUV 2009 | Ford |
| 0 | Chevrolet Impala Sedan 2007 | 43 | /content/Car Images/Train Images/Chevrolet Impala Sedan 2007 | Chevrolet |
| 0 | Chevrolet Silverado 1500 Classic Extended Cab 2007 | 43 | /content/Car Images/Train Images/Chevrolet Silverado 1500 Classic Extended Cab 2007 | Chevrolet |
| 0 | Hyundai Sonata Hybrid Sedan 2012 | 34 | /content/Car Images/Train Images/Hyundai Sonata Hybrid Sedan 2012 | Hyundai |
df_temp = df.groupby(['Car Company'])['Count'].transform('sum')
df['Total'] = df.groupby('Car Company', sort= True)['Count'].transform('sum')
df.sort_values('Total', ascending = False, inplace = True)
df1 = df.groupby('Car Company', as_index=False)['Count'].sum().sort_values(by='Count', ascending=False)
df1.describe()
| Count | |
|---|---|
| count | 49.000000 |
| mean | 166.204082 |
| std | 185.873947 |
| min | 29.000000 |
| 25% | 44.000000 |
| 50% | 88.000000 |
| 75% | 171.000000 |
| max | 905.000000 |
df_temp = df.groupby('Car Company', as_index=False)['Count'].sum().sort_values(by='Count', ascending=False).head(10)
import seaborn as sns
plt.figure(figsize=(12,3))
##sns.set(style="darkgrid")
#sns.set_color_codes("pastel")
sns.barplot(x="Car Company", y ="Count", data = df_temp, label="Top 10 Cars")
#sns.despine(left=True, bottom=True)
plt.tight_layout()
plt.show()
df_temp.describe()
| Count | |
|---|---|
| count | 10.000000 |
| mean | 461.500000 |
| std | 218.377476 |
| min | 238.000000 |
| 25% | 260.250000 |
| 50% | 479.500000 |
| 75% | 574.500000 |
| max | 905.000000 |
df_temp1 = df.groupby('Car Company', as_index=False)['Count'].sum().sort_values(by='Count', ascending=False).tail(10)
plt.figure(figsize=(8,2))
sns.barplot(x="Car Company", y ="Count", data = df_temp1, label="count of cars by company")
plt.tight_layout()
plt.show()
df_temp1.describe()
| Count | |
|---|---|
| count | 10.000000 |
| mean | 38.700000 |
| std | 4.110961 |
| min | 29.000000 |
| 25% | 37.500000 |
| 50% | 39.500000 |
| 75% | 40.750000 |
| max | 44.000000 |
plt.figure(figsize=(10,30))
sns.set(style="darkgrid")
sns.set_color_codes("pastel")
sns.barplot(x="Count", y="Car Class", data=df, label="count of cars by class")
sns.despine(left=True, bottom=True)
plt.tight_layout()
plt.show()
df['Car Class without year'] = pd.DataFrame(df['Car Class'].str.rsplit(' ', 1).str[0])
<ipython-input-33-01b8254acb2e>:1: FutureWarning: In a future version of pandas all arguments of StringMethods.rsplit except for the argument 'pat' will be keyword-only.
df['Car Class without year'] = pd.DataFrame(df['Car Class'].str.rsplit(' ', 1).str[0])
non_unique_data = df[df.duplicated(subset=['Car Class without year'], keep=False)]
non_unique_data=non_unique_data.sort_values('Car Class without year')
non_unique_data.shape
(14, 6)
non_unique_data
| Car Class | Count | Full Path | Car Company | Total | Car Class without year | |
|---|---|---|---|---|---|---|
| 0 | Audi S4 Sedan 2007 | 45 | /content/Car Images/Train Images/Audi S4 Sedan 2007 | Audi | 589 | Audi S4 Sedan |
| 0 | Audi S4 Sedan 2012 | 40 | /content/Car Images/Train Images/Audi S4 Sedan 2012 | Audi | 589 | Audi S4 Sedan |
| 0 | Bentley Continental GT Coupe 2012 | 35 | /content/Car Images/Train Images/Bentley Continental GT Coupe 2012 | Bentley | 238 | Bentley Continental GT Coupe |
| 0 | Bentley Continental GT Coupe 2007 | 46 | /content/Car Images/Train Images/Bentley Continental GT Coupe 2007 | Bentley | 238 | Bentley Continental GT Coupe |
| 0 | Dodge Caliber Wagon 2012 | 41 | /content/Car Images/Train Images/Dodge Caliber Wagon 2012 | Dodge | 630 | Dodge Caliber Wagon |
| 0 | Dodge Caliber Wagon 2007 | 42 | /content/Car Images/Train Images/Dodge Caliber Wagon 2007 | Dodge | 630 | Dodge Caliber Wagon |
| 0 | Dodge Durango SUV 2007 | 46 | /content/Car Images/Train Images/Dodge Durango SUV 2007 | Dodge | 630 | Dodge Durango SUV |
| 0 | Dodge Durango SUV 2012 | 44 | /content/Car Images/Train Images/Dodge Durango SUV 2012 | Dodge | 630 | Dodge Durango SUV |
| 0 | Ford F-150 Regular Cab 2007 | 45 | /content/Car Images/Train Images/Ford F-150 Regular Cab 2007 | Ford | 521 | Ford F-150 Regular Cab |
| 0 | Ford F-150 Regular Cab 2012 | 43 | /content/Car Images/Train Images/Ford F-150 Regular Cab 2012 | Ford | 521 | Ford F-150 Regular Cab |
| 0 | Honda Odyssey Minivan 2007 | 41 | /content/Car Images/Train Images/Honda Odyssey Minivan 2007 | Honda | 161 | Honda Odyssey Minivan |
| 0 | Honda Odyssey Minivan 2012 | 42 | /content/Car Images/Train Images/Honda Odyssey Minivan 2012 | Honda | 161 | Honda Odyssey Minivan |
| 0 | Volkswagen Golf Hatchback 2012 | 43 | /content/Car Images/Train Images/Volkswagen Golf Hatchback 2012 | Volkswagen | 132 | Volkswagen Golf Hatchback |
| 0 | Volkswagen Golf Hatchback 1991 | 46 | /content/Car Images/Train Images/Volkswagen Golf Hatchback 1991 | Volkswagen | 132 | Volkswagen Golf Hatchback |
import random
import matplotlib.pyplot as plt
root = '/content/Car Images/Train Images/Audi S4 Sedan 2007'
def show_cars(root):
fig, ax = plt.subplots(1, 5, figsize=(20, 4))
for i in range(5):
image_name = random.choice(os.listdir(root))
image_path = os.path.join(root, image_name)
image = cv2.imread(image_path)
plt.imshow(cv2.cvtColor(image, cv2.COLOR_BGR2RGB))
ax[i].imshow(cv2.cvtColor(image, cv2.COLOR_BGR2RGB))
plt.show()
show_cars(root)
show_cars(r'/content/Car Images/Train Images/Audi S4 Sedan 2007')
In order to get two row at a time, we shall shift path column and add another column to get path of both the folders (eg : Audi S4 Sedan 2012 and Audi S4 Sedan 2007 have different paths but we need both of them for merging)
non_unique_data["Full Path_1"] = non_unique_data["Full Path"].shift(-1)
non_unique_data.head(5)
| Car Class | Count | Full Path | Car Company | Total | Car Class without year | Full Path_1 | |
|---|---|---|---|---|---|---|---|
| 0 | Audi S4 Sedan 2007 | 45 | /content/Car Images/Train Images/Audi S4 Sedan 2007 | Audi | 589 | Audi S4 Sedan | /content/Car Images/Train Images/Audi S4 Sedan 2012 |
| 0 | Audi S4 Sedan 2012 | 40 | /content/Car Images/Train Images/Audi S4 Sedan 2012 | Audi | 589 | Audi S4 Sedan | /content/Car Images/Train Images/Bentley Continental GT Coupe 2012 |
| 0 | Bentley Continental GT Coupe 2012 | 35 | /content/Car Images/Train Images/Bentley Continental GT Coupe 2012 | Bentley | 238 | Bentley Continental GT Coupe | /content/Car Images/Train Images/Bentley Continental GT Coupe 2007 |
| 0 | Bentley Continental GT Coupe 2007 | 46 | /content/Car Images/Train Images/Bentley Continental GT Coupe 2007 | Bentley | 238 | Bentley Continental GT Coupe | /content/Car Images/Train Images/Dodge Caliber Wagon 2012 |
| 0 | Dodge Caliber Wagon 2012 | 41 | /content/Car Images/Train Images/Dodge Caliber Wagon 2012 | Dodge | 630 | Dodge Caliber Wagon | /content/Car Images/Train Images/Dodge Caliber Wagon 2007 |
import shutil
i=1
for index, row in non_unique_data.iterrows():
if i == 1:
print(row['Full Path_1'], row['Full Path'])
#Path of source directory & destination directory
src_directory = row['Full Path']
dst_directory = row['Full Path_1']
# Extract file from Source directory and move to Destination directory
for file in os.listdir(src_directory):
src_file = os.path.join(src_directory, file)
dest_file = os.path.join(dst_directory, file)
shutil.move(src_file, dest_file)
elif i%2 !=0:
print(row['Full Path_1'], row['Full Path'])
print(row['Full Path_1'], row['Full Path'])
#Path of source directory & destination directory
src_directory = row['Full Path']
dst_directory = row['Full Path_1']
# Extract file from Source directory and move to Destination directory
for file in os.listdir(src_directory):
src_file = os.path.join(src_directory, file)
dest_file = os.path.join(dst_directory, file)
shutil.move(src_file, dest_file)
i = i + 1
/content/Car Images/Train Images/Audi S4 Sedan 2012 /content/Car Images/Train Images/Audi S4 Sedan 2007 /content/Car Images/Train Images/Bentley Continental GT Coupe 2007 /content/Car Images/Train Images/Bentley Continental GT Coupe 2012 /content/Car Images/Train Images/Bentley Continental GT Coupe 2007 /content/Car Images/Train Images/Bentley Continental GT Coupe 2012 /content/Car Images/Train Images/Dodge Caliber Wagon 2007 /content/Car Images/Train Images/Dodge Caliber Wagon 2012 /content/Car Images/Train Images/Dodge Caliber Wagon 2007 /content/Car Images/Train Images/Dodge Caliber Wagon 2012 /content/Car Images/Train Images/Dodge Durango SUV 2012 /content/Car Images/Train Images/Dodge Durango SUV 2007 /content/Car Images/Train Images/Dodge Durango SUV 2012 /content/Car Images/Train Images/Dodge Durango SUV 2007 /content/Car Images/Train Images/Ford F-150 Regular Cab 2012 /content/Car Images/Train Images/Ford F-150 Regular Cab 2007 /content/Car Images/Train Images/Ford F-150 Regular Cab 2012 /content/Car Images/Train Images/Ford F-150 Regular Cab 2007 /content/Car Images/Train Images/Honda Odyssey Minivan 2012 /content/Car Images/Train Images/Honda Odyssey Minivan 2007 /content/Car Images/Train Images/Honda Odyssey Minivan 2012 /content/Car Images/Train Images/Honda Odyssey Minivan 2007 /content/Car Images/Train Images/Volkswagen Golf Hatchback 1991 /content/Car Images/Train Images/Volkswagen Golf Hatchback 2012 /content/Car Images/Train Images/Volkswagen Golf Hatchback 1991 /content/Car Images/Train Images/Volkswagen Golf Hatchback 2012
we had Audi S4 Sedan 2007 having 40 images and Audi S4 Sedan 2012 having 45 counts so, our merged folder should have 85 and the other folder should have no images
_, _, files = next(os.walk("/content/Car Images/Train Images/Audi S4 Sedan 2007"))
file_count = len(files)
print(file_count)
_, _, files = next(os.walk("/content/Car Images/Train Images/Audi S4 Sedan 2012"))
file_count = len(files)
print(file_count)
0 85
Let us now perform the same steps of test classes so that we do not create imbalance in categories
path = "/content/Car Images/Test Images"
pd.set_option('display.max_colwidth', None)
df1 = pd.DataFrame(columns=['Car Class', 'Count', 'Full Path'])
count = 0
for f in os.listdir(path):
#print(f)
newPath = os.path.join(path, f)
if os.path.isdir(newPath):
images = os.listdir(newPath) # your directory path
number_files = len(images)
df1 = pd.concat([df1, pd.DataFrame.from_records([
{'Car Class' : os.path.basename(newPath),
'Count' : len(images),
'Full Path' : newPath
}])])
df1.head()
| Car Class | Count | Full Path | |
|---|---|---|---|
| 0 | Hyundai Azera Sedan 2012 | 42 | /content/Car Images/Test Images/Hyundai Azera Sedan 2012 |
| 0 | Ford Expedition EL SUV 2009 | 44 | /content/Car Images/Test Images/Ford Expedition EL SUV 2009 |
| 0 | Chevrolet Impala Sedan 2007 | 43 | /content/Car Images/Test Images/Chevrolet Impala Sedan 2007 |
| 0 | Chevrolet Silverado 1500 Classic Extended Cab 2007 | 42 | /content/Car Images/Test Images/Chevrolet Silverado 1500 Classic Extended Cab 2007 |
| 0 | Hyundai Sonata Hybrid Sedan 2012 | 33 | /content/Car Images/Test Images/Hyundai Sonata Hybrid Sedan 2012 |
df1['Car Class without year'] = pd.DataFrame(df1['Car Class'].str.rsplit(' ', 1).str[0])
<ipython-input-47-d8ae12935769>:1: FutureWarning: In a future version of pandas all arguments of StringMethods.rsplit except for the argument 'pat' will be keyword-only.
df1['Car Class without year'] = pd.DataFrame(df1['Car Class'].str.rsplit(' ', 1).str[0])
non_unique_data_test = df1[df1.duplicated(subset=['Car Class without year'], keep=False)]
non_unique_data_test = non_unique_data_test.sort_values('Car Class without year')
non_unique_data_test.shape
(14, 4)
we should note that the same car classes have year as different in test data also and total number is 7
non_unique_data_test
| Car Class | Count | Full Path | Car Class without year | |
|---|---|---|---|---|
| 0 | Audi S4 Sedan 2007 | 45 | /content/Car Images/Test Images/Audi S4 Sedan 2007 | Audi S4 Sedan |
| 0 | Audi S4 Sedan 2012 | 39 | /content/Car Images/Test Images/Audi S4 Sedan 2012 | Audi S4 Sedan |
| 0 | Bentley Continental GT Coupe 2012 | 34 | /content/Car Images/Test Images/Bentley Continental GT Coupe 2012 | Bentley Continental GT Coupe |
| 0 | Bentley Continental GT Coupe 2007 | 46 | /content/Car Images/Test Images/Bentley Continental GT Coupe 2007 | Bentley Continental GT Coupe |
| 0 | Dodge Caliber Wagon 2007 | 42 | /content/Car Images/Test Images/Dodge Caliber Wagon 2007 | Dodge Caliber Wagon |
| 0 | Dodge Caliber Wagon 2012 | 40 | /content/Car Images/Test Images/Dodge Caliber Wagon 2012 | Dodge Caliber Wagon |
| 0 | Dodge Durango SUV 2007 | 45 | /content/Car Images/Test Images/Dodge Durango SUV 2007 | Dodge Durango SUV |
| 0 | Dodge Durango SUV 2012 | 43 | /content/Car Images/Test Images/Dodge Durango SUV 2012 | Dodge Durango SUV |
| 0 | Ford F-150 Regular Cab 2012 | 42 | /content/Car Images/Test Images/Ford F-150 Regular Cab 2012 | Ford F-150 Regular Cab |
| 0 | Ford F-150 Regular Cab 2007 | 45 | /content/Car Images/Test Images/Ford F-150 Regular Cab 2007 | Ford F-150 Regular Cab |
| 0 | Honda Odyssey Minivan 2012 | 42 | /content/Car Images/Test Images/Honda Odyssey Minivan 2012 | Honda Odyssey Minivan |
| 0 | Honda Odyssey Minivan 2007 | 41 | /content/Car Images/Test Images/Honda Odyssey Minivan 2007 | Honda Odyssey Minivan |
| 0 | Volkswagen Golf Hatchback 1991 | 46 | /content/Car Images/Test Images/Volkswagen Golf Hatchback 1991 | Volkswagen Golf Hatchback |
| 0 | Volkswagen Golf Hatchback 2012 | 43 | /content/Car Images/Test Images/Volkswagen Golf Hatchback 2012 | Volkswagen Golf Hatchback |
non_unique_data_test["Full Path_1"] = non_unique_data_test["Full Path"].shift(-1)
non_unique_data_test.head(5)
| Car Class | Count | Full Path | Car Class without year | Full Path_1 | |
|---|---|---|---|---|---|
| 0 | Audi S4 Sedan 2007 | 45 | /content/Car Images/Test Images/Audi S4 Sedan 2007 | Audi S4 Sedan | /content/Car Images/Test Images/Audi S4 Sedan 2012 |
| 0 | Audi S4 Sedan 2012 | 39 | /content/Car Images/Test Images/Audi S4 Sedan 2012 | Audi S4 Sedan | /content/Car Images/Test Images/Bentley Continental GT Coupe 2012 |
| 0 | Bentley Continental GT Coupe 2012 | 34 | /content/Car Images/Test Images/Bentley Continental GT Coupe 2012 | Bentley Continental GT Coupe | /content/Car Images/Test Images/Bentley Continental GT Coupe 2007 |
| 0 | Bentley Continental GT Coupe 2007 | 46 | /content/Car Images/Test Images/Bentley Continental GT Coupe 2007 | Bentley Continental GT Coupe | /content/Car Images/Test Images/Dodge Caliber Wagon 2007 |
| 0 | Dodge Caliber Wagon 2007 | 42 | /content/Car Images/Test Images/Dodge Caliber Wagon 2007 | Dodge Caliber Wagon | /content/Car Images/Test Images/Dodge Caliber Wagon 2012 |
i=1
for index, row in non_unique_data_test.iterrows():
if i == 1:
print(row['Full Path_1'], row['Full Path'])
#Path of source directory & destination directory
src_directory = row['Full Path']
dst_directory = row['Full Path_1']
# Extract file from Source directory and move to Destination directory
for file in os.listdir(src_directory):
src_file = os.path.join(src_directory, file)
dest_file = os.path.join(dst_directory, file)
shutil.move(src_file, dest_file)
elif i%2 !=0:
print(row['Full Path_1'], row['Full Path'])
print(row['Full Path_1'], row['Full Path'])
#Path of source directory & destination directory
src_directory = row['Full Path']
dst_directory = row['Full Path_1']
# Extract file from Source directory and move to Destination directory
for file in os.listdir(src_directory):
src_file = os.path.join(src_directory, file)
dest_file = os.path.join(dst_directory, file)
shutil.move(src_file, dest_file)
i = i + 1
/content/Car Images/Test Images/Audi S4 Sedan 2012 /content/Car Images/Test Images/Audi S4 Sedan 2007 /content/Car Images/Test Images/Bentley Continental GT Coupe 2007 /content/Car Images/Test Images/Bentley Continental GT Coupe 2012 /content/Car Images/Test Images/Bentley Continental GT Coupe 2007 /content/Car Images/Test Images/Bentley Continental GT Coupe 2012 /content/Car Images/Test Images/Dodge Caliber Wagon 2012 /content/Car Images/Test Images/Dodge Caliber Wagon 2007 /content/Car Images/Test Images/Dodge Caliber Wagon 2012 /content/Car Images/Test Images/Dodge Caliber Wagon 2007 /content/Car Images/Test Images/Dodge Durango SUV 2012 /content/Car Images/Test Images/Dodge Durango SUV 2007 /content/Car Images/Test Images/Dodge Durango SUV 2012 /content/Car Images/Test Images/Dodge Durango SUV 2007 /content/Car Images/Test Images/Ford F-150 Regular Cab 2007 /content/Car Images/Test Images/Ford F-150 Regular Cab 2012 /content/Car Images/Test Images/Ford F-150 Regular Cab 2007 /content/Car Images/Test Images/Ford F-150 Regular Cab 2012 /content/Car Images/Test Images/Honda Odyssey Minivan 2007 /content/Car Images/Test Images/Honda Odyssey Minivan 2012 /content/Car Images/Test Images/Honda Odyssey Minivan 2007 /content/Car Images/Test Images/Honda Odyssey Minivan 2012 /content/Car Images/Test Images/Volkswagen Golf Hatchback 2012 /content/Car Images/Test Images/Volkswagen Golf Hatchback 1991 /content/Car Images/Test Images/Volkswagen Golf Hatchback 2012 /content/Car Images/Test Images/Volkswagen Golf Hatchback 1991
_, _, files = next(os.walk("/content/Car Images/Test Images/Audi S4 Sedan 2007"))
file_count = len(files)
print(file_count)
_, _, files = next(os.walk("/content/Car Images/Test Images/Audi S4 Sedan 2012"))
file_count = len(files)
print(file_count)
0 84
Inference : we have merged the test folders which have just year as different
import pandas as pd
# Load the annotation files
train_annotation = pd.read_csv("/content/Annotations/Train Annotations.csv", header=None, skiprows=1)
test_annotation = pd.read_csv("/content/Annotations/Test Annotation.csv", header=None, skiprows=1)
# Set the column names for the annotations
train_annotation.columns = ["Image Name", "a", "b", "c", "d", "Image class"]
test_annotation.columns = ["Image Name", "a", "b", "c", "d", "Image class"]
# Create dictionaries to map the images to their respective annotations
train_dict = {}
for index, row in train_annotation.iterrows():
if row["Image Name"] not in train_dict:
train_dict[row["Image Name"]] = []
train_dict[row["Image Name"]].append([int(row[1])] + row[2:5].tolist())
test_dict = {}
for index, row in test_annotation.iterrows():
if row["Image Name"] not in test_dict:
test_dict[row["Image Name"]] = []
test_dict[row["Image Name"]].append([int(row[1])] + row[2:5].tolist())
# Create dictionaries to map the images to their respective classes
train_classes = {}
for index, row in train_annotation.iterrows():
train_classes[row["Image Name"]] = row["Image class"]
test_classes = {}
for index, row in test_annotation.iterrows():
test_classes[row["Image Name"]] = row["Image class"]
train_dict
{'00001.jpg': [[39, 116, 569, 375]],
'00002.jpg': [[36, 116, 868, 587]],
'00003.jpg': [[85, 109, 601, 381]],
'00004.jpg': [[621, 393, 1484, 1096]],
'00005.jpg': [[14, 36, 133, 99]],
'00006.jpg': [[259, 289, 515, 416]],
'00007.jpg': [[88, 80, 541, 397]],
'00008.jpg': [[73, 79, 591, 410]],
'00009.jpg': [[20, 126, 1269, 771]],
'00010.jpg': [[21, 110, 623, 367]],
'00011.jpg': [[51, 93, 601, 393]],
'00012.jpg': [[6, 62, 499, 286]],
'00013.jpg': [[30, 36, 418, 307]],
'00014.jpg': [[31, 246, 778, 540]],
'00015.jpg': [[32, 77, 589, 379]],
'00016.jpg': [[27, 49, 611, 396]],
'00017.jpg': [[39, 52, 233, 150]],
'00018.jpg': [[3, 8, 190, 147]],
'00019.jpg': [[247, 287, 1366, 761]],
'00020.jpg': [[17, 281, 961, 596]],
'00021.jpg': [[17, 156, 695, 375]],
'00022.jpg': [[212, 538, 1893, 1131]],
'00023.jpg': [[11, 28, 476, 234]],
'00024.jpg': [[53, 126, 973, 621]],
'00025.jpg': [[34, 87, 567, 343]],
'00026.jpg': [[30, 174, 598, 379]],
'00027.jpg': [[80, 107, 606, 336]],
'00028.jpg': [[45, 115, 585, 382]],
'00029.jpg': [[28, 139, 1564, 1126]],
'00030.jpg': [[82, 109, 874, 521]],
'00031.jpg': [[55, 318, 446, 564]],
'00032.jpg': [[12, 31, 471, 350]],
'00033.jpg': [[34, 197, 1011, 656]],
'00034.jpg': [[37, 63, 614, 397]],
'00035.jpg': [[223, 87, 1111, 670]],
'00036.jpg': [[138, 41, 521, 223]],
'00037.jpg': [[31, 87, 616, 344]],
'00038.jpg': [[16, 89, 459, 326]],
'00039.jpg': [[53, 113, 614, 350]],
'00040.jpg': [[214, 110, 660, 403]],
'00041.jpg': [[61, 55, 566, 408]],
'00042.jpg': [[28, 61, 622, 371]],
'00043.jpg': [[22, 39, 588, 362]],
'00044.jpg': [[220, 193, 537, 364]],
'00045.jpg': [[12, 108, 489, 297]],
'00046.jpg': [[28, 80, 759, 466]],
'00047.jpg': [[84, 248, 1102, 899]],
'00048.jpg': [[142, 69, 753, 451]],
'00049.jpg': [[166, 543, 887, 903]],
'00050.jpg': [[20, 96, 564, 341]],
'00051.jpg': [[41, 181, 607, 465]],
'00052.jpg': [[39, 29, 774, 395]],
'00053.jpg': [[161, 191, 425, 307]],
'00054.jpg': [[58, 562, 1528, 1081]],
'00055.jpg': [[80, 120, 582, 391]],
'00056.jpg': [[32, 48, 472, 267]],
'00057.jpg': [[260, 138, 972, 439]],
'00058.jpg': [[11, 35, 256, 173]],
'00059.jpg': [[68, 91, 607, 354]],
'00060.jpg': [[129, 120, 345, 269]],
'00061.jpg': [[11, 104, 1011, 742]],
'00062.jpg': [[19, 21, 425, 265]],
'00063.jpg': [[175, 330, 928, 647]],
'00064.jpg': [[97, 39, 925, 700]],
'00065.jpg': [[63, 175, 417, 320]],
'00066.jpg': [[30, 39, 221, 125]],
'00067.jpg': [[129, 89, 594, 432]],
'00068.jpg': [[32, 43, 598, 350]],
'00069.jpg': [[142, 124, 675, 445]],
'00070.jpg': [[220, 313, 1054, 976]],
'00071.jpg': [[8, 12, 639, 299]],
'00072.jpg': [[92, 271, 1178, 749]],
'00073.jpg': [[15, 12, 314, 230]],
'00074.jpg': [[14, 12, 309, 223]],
'00075.jpg': [[45, 74, 522, 253]],
'00076.jpg': [[12, 27, 284, 166]],
'00077.jpg': [[25, 25, 3502, 2017]],
'00078.jpg': [[36, 88, 611, 417]],
'00079.jpg': [[165, 126, 749, 425]],
'00080.jpg': [[20, 21, 292, 217]],
'00081.jpg': [[10, 55, 540, 271]],
'00082.jpg': [[63, 113, 597, 413]],
'00083.jpg': [[55, 48, 294, 205]],
'00084.jpg': [[27, 67, 620, 474]],
'00085.jpg': [[15, 80, 629, 402]],
'00086.jpg': [[119, 300, 1416, 871]],
'00087.jpg': [[17, 36, 455, 215]],
'00088.jpg': [[171, 176, 2373, 1751]],
'00089.jpg': [[49, 195, 1003, 617]],
'00090.jpg': [[5, 43, 296, 211]],
'00091.jpg': [[49, 57, 494, 419]],
'00092.jpg': [[101, 84, 492, 272]],
'00093.jpg': [[23, 53, 258, 144]],
'00094.jpg': [[19, 60, 783, 440]],
'00095.jpg': [[110, 171, 1213, 648]],
'00096.jpg': [[39, 67, 346, 206]],
'00097.jpg': [[3, 7, 76, 50]],
'00098.jpg': [[65, 37, 578, 360]],
'00099.jpg': [[27, 60, 486, 364]],
'00100.jpg': [[22, 180, 454, 355]],
'00101.jpg': [[70, 39, 940, 742]],
'00102.jpg': [[99, 130, 396, 222]],
'00103.jpg': [[85, 107, 609, 381]],
'00104.jpg': [[1, 76, 480, 315]],
'00105.jpg': [[57, 266, 967, 623]],
'00106.jpg': [[69, 75, 236, 161]],
'00107.jpg': [[24, 17, 249, 163]],
'00108.jpg': [[7, 27, 212, 147]],
'00109.jpg': [[18, 14, 248, 168]],
'00110.jpg': [[19, 2, 591, 387]],
'00111.jpg': [[52, 6, 759, 513]],
'00112.jpg': [[231, 103, 430, 226]],
'00113.jpg': [[91, 148, 700, 582]],
'00114.jpg': [[19, 72, 624, 397]],
'00115.jpg': [[26, 90, 376, 243]],
'00116.jpg': [[132, 120, 667, 401]],
'00117.jpg': [[84, 44, 663, 342]],
'00118.jpg': [[87, 235, 591, 412]],
'00119.jpg': [[173, 370, 1207, 960]],
'00120.jpg': [[3, 19, 195, 114]],
'00121.jpg': [[49, 143, 487, 455]],
'00122.jpg': [[72, 67, 233, 176]],
'00123.jpg': [[151, 568, 1954, 1271]],
'00124.jpg': [[14, 88, 271, 178]],
'00125.jpg': [[135, 761, 1894, 1353]],
'00126.jpg': [[44, 123, 778, 487]],
'00127.jpg': [[69, 103, 537, 322]],
'00128.jpg': [[86, 78, 355, 284]],
'00129.jpg': [[50, 80, 592, 273]],
'00130.jpg': [[95, 161, 543, 368]],
'00131.jpg': [[275, 195, 863, 474]],
'00132.jpg': [[99, 78, 557, 389]],
'00133.jpg': [[11, 126, 426, 360]],
'00134.jpg': [[1, 2, 267, 185]],
'00135.jpg': [[19, 735, 2669, 2192]],
'00136.jpg': [[21, 35, 279, 195]],
'00137.jpg': [[45, 99, 593, 403]],
'00138.jpg': [[130, 282, 1425, 900]],
'00139.jpg': [[72, 215, 628, 481]],
'00140.jpg': [[62, 95, 633, 434]],
'00141.jpg': [[13, 106, 476, 260]],
'00142.jpg': [[78, 300, 952, 633]],
'00143.jpg': [[72, 51, 566, 412]],
'00144.jpg': [[66, 59, 283, 202]],
'00145.jpg': [[135, 36, 1181, 885]],
'00146.jpg': [[2, 5, 298, 162]],
'00147.jpg': [[8, 12, 770, 309]],
'00148.jpg': [[24, 78, 608, 379]],
'00149.jpg': [[34, 1, 242, 179]],
'00150.jpg': [[11, 208, 596, 386]],
'00151.jpg': [[8, 37, 294, 150]],
'00152.jpg': [[23, 66, 499, 311]],
'00153.jpg': [[6, 138, 627, 361]],
'00154.jpg': [[17, 105, 385, 243]],
'00155.jpg': [[76, 4, 1585, 1120]],
'00156.jpg': [[22, 21, 211, 139]],
'00157.jpg': [[32, 130, 973, 661]],
'00158.jpg': [[75, 236, 1196, 846]],
'00159.jpg': [[37, 139, 988, 694]],
'00160.jpg': [[114, 46, 546, 287]],
'00161.jpg': [[12, 83, 629, 354]],
'00162.jpg': [[38, 66, 548, 385]],
'00163.jpg': [[46, 84, 661, 428]],
'00164.jpg': [[13, 29, 239, 174]],
'00165.jpg': [[27, 65, 490, 220]],
'00166.jpg': [[4, 69, 402, 245]],
'00167.jpg': [[19, 27, 429, 258]],
'00168.jpg': [[110, 96, 565, 389]],
'00169.jpg': [[2, 22, 140, 81]],
'00170.jpg': [[48, 71, 615, 453]],
'00171.jpg': [[41, 42, 262, 170]],
'00172.jpg': [[6, 108, 493, 267]],
'00173.jpg': [[26, 61, 508, 342]],
'00174.jpg': [[13, 29, 249, 159]],
'00175.jpg': [[69, 120, 739, 502]],
'00176.jpg': [[45, 85, 1005, 558]],
'00177.jpg': [[98, 22, 650, 302]],
'00178.jpg': [[5, 28, 285, 148]],
'00179.jpg': [[42, 113, 601, 439]],
'00180.jpg': [[3, 40, 297, 157]],
'00181.jpg': [[84, 256, 913, 752]],
'00182.jpg': [[43, 226, 1001, 630]],
'00183.jpg': [[2, 9, 196, 125]],
'00184.jpg': [[34, 51, 604, 344]],
'00185.jpg': [[24, 35, 620, 438]],
'00186.jpg': [[6, 72, 255, 178]],
'00187.jpg': [[4, 408, 1600, 934]],
'00188.jpg': [[25, 162, 1241, 764]],
'00189.jpg': [[18, 15, 583, 421]],
'00190.jpg': [[198, 416, 1271, 935]],
'00191.jpg': [[129, 75, 654, 422]],
'00192.jpg': [[37, 24, 259, 212]],
'00193.jpg': [[82, 107, 990, 723]],
'00194.jpg': [[187, 327, 1211, 769]],
'00195.jpg': [[150, 339, 1313, 771]],
'00196.jpg': [[26, 46, 266, 213]],
'00197.jpg': [[47, 102, 492, 371]],
'00198.jpg': [[91, 121, 574, 357]],
'00199.jpg': [[151, 298, 1285, 835]],
'00200.jpg': [[30, 55, 301, 187]],
'00201.jpg': [[21, 1, 386, 200]],
'00202.jpg': [[233, 217, 1228, 807]],
'00203.jpg': [[30, 167, 945, 545]],
'00204.jpg': [[11, 61, 284, 151]],
'00205.jpg': [[29, 70, 612, 356]],
'00206.jpg': [[117, 222, 558, 434]],
'00207.jpg': [[31, 119, 438, 258]],
'00208.jpg': [[26, 151, 360, 256]],
'00209.jpg': [[58, 136, 973, 636]],
'00210.jpg': [[8, 80, 639, 366]],
'00211.jpg': [[11, 47, 598, 365]],
'00212.jpg': [[8, 20, 254, 155]],
'00213.jpg': [[37, 62, 261, 191]],
'00214.jpg': [[70, 78, 915, 640]],
'00215.jpg': [[38, 50, 221, 138]],
'00216.jpg': [[21, 45, 133, 88]],
'00217.jpg': [[45, 39, 594, 444]],
'00218.jpg': [[39, 94, 337, 245]],
'00219.jpg': [[89, 1, 597, 316]],
'00220.jpg': [[16, 103, 462, 347]],
'00221.jpg': [[29, 21, 477, 299]],
'00222.jpg': [[89, 58, 545, 338]],
'00223.jpg': [[42, 115, 299, 288]],
'00224.jpg': [[19, 10, 177, 134]],
'00225.jpg': [[20, 50, 463, 313]],
'00226.jpg': [[46, 15, 202, 156]],
'00227.jpg': [[36, 63, 613, 397]],
'00228.jpg': [[237, 156, 896, 365]],
'00229.jpg': [[5, 46, 255, 138]],
'00230.jpg': [[223, 542, 3692, 2478]],
'00231.jpg': [[73, 109, 606, 374]],
'00232.jpg': [[15, 110, 544, 381]],
'00233.jpg': [[276, 124, 1495, 951]],
'00234.jpg': [[99, 364, 1211, 954]],
'00235.jpg': [[59, 63, 549, 404]],
'00236.jpg': [[19, 138, 571, 424]],
'00237.jpg': [[11, 10, 396, 265]],
'00238.jpg': [[163, 91, 527, 346]],
'00239.jpg': [[4, 19, 255, 172]],
'00240.jpg': [[45, 60, 251, 171]],
'00241.jpg': [[32, 59, 1011, 709]],
'00242.jpg': [[10, 53, 273, 167]],
'00243.jpg': [[270, 228, 727, 416]],
'00244.jpg': [[21, 93, 479, 331]],
'00245.jpg': [[22, 59, 536, 238]],
'00246.jpg': [[1, 317, 1280, 945]],
'00247.jpg': [[47, 125, 850, 468]],
'00248.jpg': [[52, 167, 508, 387]],
'00249.jpg': [[6, 155, 631, 450]],
'00250.jpg': [[11, 35, 246, 186]],
'00251.jpg': [[576, 466, 2994, 1953]],
'00252.jpg': [[37, 50, 253, 158]],
'00253.jpg': [[51, 105, 579, 335]],
'00254.jpg': [[21, 11, 296, 141]],
'00255.jpg': [[29, 78, 734, 396]],
'00256.jpg': [[85, 215, 776, 511]],
'00257.jpg': [[23, 146, 617, 329]],
'00258.jpg': [[34, 86, 227, 166]],
'00259.jpg': [[75, 254, 2514, 1929]],
'00260.jpg': [[28, 164, 698, 417]],
'00261.jpg': [[32, 79, 378, 221]],
'00262.jpg': [[158, 132, 501, 293]],
'00263.jpg': [[177, 299, 730, 673]],
'00264.jpg': [[42, 72, 472, 299]],
'00265.jpg': [[15, 74, 387, 195]],
'00266.jpg': [[22, 300, 786, 552]],
'00267.jpg': [[25, 133, 620, 374]],
'00268.jpg': [[49, 53, 596, 398]],
'00269.jpg': [[29, 192, 605, 391]],
'00270.jpg': [[15, 70, 357, 186]],
'00271.jpg': [[11, 23, 141, 80]],
'00272.jpg': [[8, 1, 590, 327]],
'00273.jpg': [[37, 65, 458, 321]],
'00274.jpg': [[31, 69, 435, 310]],
'00275.jpg': [[165, 183, 495, 358]],
'00276.jpg': [[75, 93, 529, 360]],
'00277.jpg': [[72, 193, 926, 613]],
'00278.jpg': [[1, 38, 251, 135]],
'00279.jpg': [[16, 31, 553, 297]],
'00280.jpg': [[3, 33, 261, 176]],
'00281.jpg': [[214, 240, 387, 342]],
'00282.jpg': [[20, 97, 460, 356]],
'00283.jpg': [[112, 190, 664, 342]],
'00284.jpg': [[49, 101, 942, 619]],
'00285.jpg': [[7, 20, 634, 298]],
'00286.jpg': [[116, 143, 769, 713]],
'00287.jpg': [[56, 299, 1266, 721]],
'00288.jpg': [[60, 46, 258, 138]],
'00289.jpg': [[205, 197, 741, 425]],
'00290.jpg': [[68, 30, 620, 506]],
'00291.jpg': [[27, 147, 573, 471]],
'00292.jpg': [[133, 73, 806, 251]],
'00293.jpg': [[24, 27, 936, 380]],
'00294.jpg': [[11, 141, 629, 386]],
'00295.jpg': [[150, 114, 524, 433]],
'00296.jpg': [[18, 115, 618, 456]],
'00297.jpg': [[56, 157, 639, 455]],
'00298.jpg': [[49, 67, 362, 245]],
'00299.jpg': [[24, 66, 982, 711]],
'00300.jpg': [[41, 103, 994, 692]],
'00301.jpg': [[52, 36, 247, 189]],
'00302.jpg': [[1, 37, 296, 171]],
'00303.jpg': [[6, 47, 297, 193]],
'00304.jpg': [[14, 29, 235, 168]],
'00305.jpg': [[37, 21, 169, 122]],
'00306.jpg': [[37, 125, 582, 456]],
'00307.jpg': [[171, 63, 1187, 894]],
'00308.jpg': [[16, 136, 775, 418]],
'00309.jpg': [[50, 122, 589, 338]],
'00310.jpg': [[36, 43, 407, 319]],
'00311.jpg': [[1, 69, 280, 228]],
'00312.jpg': [[53, 79, 627, 464]],
'00313.jpg': [[13, 44, 477, 289]],
'00314.jpg': [[33, 71, 615, 435]],
'00315.jpg': [[555, 278, 1543, 1207]],
'00316.jpg': [[10, 29, 276, 164]],
'00317.jpg': [[2, 48, 300, 202]],
'00318.jpg': [[73, 159, 445, 376]],
'00319.jpg': [[38, 8, 564, 402]],
'00320.jpg': [[42, 17, 440, 282]],
'00321.jpg': [[42, 63, 593, 397]],
'00322.jpg': [[9, 304, 1009, 677]],
'00323.jpg': [[161, 263, 632, 415]],
'00324.jpg': [[15, 26, 199, 123]],
'00325.jpg': [[12, 21, 285, 142]],
'00326.jpg': [[29, 28, 432, 249]],
'00327.jpg': [[2, 6, 546, 298]],
'00328.jpg': [[41, 49, 244, 176]],
'00329.jpg': [[10, 105, 660, 475]],
'00330.jpg': [[168, 92, 333, 305]],
'00331.jpg': [[26, 81, 596, 391]],
'00332.jpg': [[76, 247, 396, 396]],
'00333.jpg': [[30, 110, 472, 316]],
'00334.jpg': [[179, 300, 1403, 894]],
'00335.jpg': [[23, 31, 236, 176]],
'00336.jpg': [[309, 598, 1767, 995]],
'00337.jpg': [[45, 55, 530, 308]],
'00338.jpg': [[14, 129, 441, 360]],
'00339.jpg': [[39, 5, 234, 174]],
'00340.jpg': [[139, 152, 488, 305]],
'00341.jpg': [[62, 116, 974, 610]],
'00342.jpg': [[152, 195, 502, 436]],
'00343.jpg': [[63, 36, 760, 504]],
'00344.jpg': [[36, 59, 770, 397]],
'00345.jpg': [[26, 13, 234, 194]],
'00346.jpg': [[112, 21, 2859, 1928]],
'00347.jpg': [[100, 190, 907, 691]],
'00348.jpg': [[14, 59, 522, 266]],
'00349.jpg': [[42, 82, 956, 685]],
'00350.jpg': [[17, 52, 247, 158]],
'00351.jpg': [[13, 108, 454, 305]],
'00352.jpg': [[107, 40, 433, 240]],
'00353.jpg': [[3, 60, 499, 289]],
'00354.jpg': [[44, 212, 984, 596]],
'00355.jpg': [[28, 93, 1011, 675]],
'00356.jpg': [[187, 313, 1381, 1087]],
'00357.jpg': [[31, 47, 415, 255]],
'00358.jpg': [[53, 116, 562, 353]],
'00359.jpg': [[27, 71, 630, 422]],
'00360.jpg': [[12, 23, 245, 176]],
'00361.jpg': [[17, 64, 941, 620]],
'00362.jpg': [[108, 121, 539, 357]],
'00363.jpg': [[14, 60, 402, 300]],
'00364.jpg': [[15, 47, 286, 184]],
'00365.jpg': [[17, 82, 630, 496]],
'00366.jpg': [[67, 55, 508, 338]],
'00367.jpg': [[30, 118, 618, 334]],
'00368.jpg': [[14, 76, 292, 195]],
'00369.jpg': [[40, 52, 603, 357]],
'00370.jpg': [[57, 148, 568, 363]],
'00371.jpg': [[5, 56, 430, 245]],
'00372.jpg': [[2, 190, 371, 490]],
'00373.jpg': [[243, 318, 805, 629]],
'00374.jpg': [[9, 184, 740, 499]],
'00375.jpg': [[122, 48, 697, 401]],
'00376.jpg': [[74, 187, 917, 734]],
'00377.jpg': [[20, 48, 624, 453]],
'00378.jpg': [[16, 25, 290, 215]],
'00379.jpg': [[119, 194, 942, 586]],
'00380.jpg': [[137, 76, 600, 370]],
'00381.jpg': [[66, 88, 455, 322]],
'00382.jpg': [[4, 55, 494, 365]],
'00383.jpg': [[80, 1, 549, 431]],
'00384.jpg': [[51, 87, 489, 290]],
'00385.jpg': [[217, 199, 631, 358]],
'00386.jpg': [[65, 321, 1232, 828]],
'00387.jpg': [[47, 150, 1007, 635]],
'00388.jpg': [[18, 53, 244, 175]],
'00389.jpg': [[5, 96, 409, 262]],
'00390.jpg': [[14, 21, 782, 487]],
'00391.jpg': [[433, 262, 1339, 985]],
'00392.jpg': [[62, 220, 992, 667]],
'00393.jpg': [[110, 266, 986, 700]],
'00394.jpg': [[229, 126, 624, 345]],
'00395.jpg': [[58, 45, 205, 165]],
'00396.jpg': [[21, 99, 442, 295]],
'00397.jpg': [[30, 29, 282, 164]],
'00398.jpg': [[29, 93, 408, 242]],
'00399.jpg': [[121, 108, 655, 387]],
'00400.jpg': [[32, 51, 260, 153]],
'00401.jpg': [[24, 78, 366, 232]],
'00402.jpg': [[1, 18, 392, 240]],
'00403.jpg': [[299, 199, 1415, 894]],
'00404.jpg': [[30, 132, 724, 361]],
'00405.jpg': [[42, 37, 624, 328]],
'00406.jpg': [[1, 157, 990, 640]],
'00407.jpg': [[19, 136, 498, 329]],
'00408.jpg': [[49, 76, 343, 266]],
'00409.jpg': [[21, 66, 605, 463]],
'00410.jpg': [[31, 119, 404, 248]],
'00411.jpg': [[52, 47, 586, 260]],
'00412.jpg': [[195, 372, 1908, 1339]],
'00413.jpg': [[33, 150, 613, 401]],
'00414.jpg': [[316, 344, 1269, 891]],
'00415.jpg': [[81, 552, 1917, 1153]],
'00416.jpg': [[122, 157, 921, 587]],
'00417.jpg': [[63, 69, 603, 385]],
'00418.jpg': [[12, 70, 388, 273]],
'00419.jpg': [[50, 89, 584, 387]],
'00420.jpg': [[71, 64, 425, 328]],
'00421.jpg': [[71, 158, 690, 341]],
'00422.jpg': [[32, 74, 277, 203]],
'00423.jpg': [[69, 59, 637, 461]],
'00424.jpg': [[22, 83, 415, 322]],
'00425.jpg': [[48, 36, 572, 300]],
'00426.jpg': [[85, 318, 1223, 863]],
'00427.jpg': [[33, 128, 581, 458]],
'00428.jpg': [[33, 102, 595, 429]],
'00429.jpg': [[83, 182, 573, 402]],
'00430.jpg': [[82, 74, 589, 340]],
'00431.jpg': [[47, 201, 534, 426]],
'00432.jpg': [[54, 128, 429, 353]],
'00433.jpg': [[58, 189, 879, 642]],
'00434.jpg': [[18, 50, 280, 162]],
'00435.jpg': [[20, 75, 606, 325]],
'00436.jpg': [[20, 51, 271, 180]],
'00437.jpg': [[19, 67, 412, 314]],
'00438.jpg': [[52, 94, 543, 323]],
'00439.jpg': [[11, 89, 644, 415]],
'00440.jpg': [[12, 60, 456, 306]],
'00441.jpg': [[30, 35, 382, 235]],
'00442.jpg': [[53, 56, 391, 278]],
'00443.jpg': [[37, 60, 218, 144]],
'00444.jpg': [[4, 4, 377, 277]],
'00445.jpg': [[121, 169, 1387, 775]],
'00446.jpg': [[17, 41, 465, 293]],
'00447.jpg': [[43, 110, 462, 296]],
'00448.jpg': [[37, 67, 617, 437]],
'00449.jpg': [[66, 117, 506, 289]],
'00450.jpg': [[57, 59, 506, 288]],
'00451.jpg': [[66, 90, 507, 385]],
'00452.jpg': [[59, 42, 256, 165]],
'00453.jpg': [[65, 91, 391, 278]],
'00454.jpg': [[251, 299, 1423, 901]],
'00455.jpg': [[434, 136, 1528, 829]],
'00456.jpg': [[79, 63, 285, 171]],
'00457.jpg': [[79, 91, 600, 456]],
'00458.jpg': [[16, 96, 483, 277]],
'00459.jpg': [[39, 81, 597, 465]],
'00460.jpg': [[95, 139, 886, 541]],
'00461.jpg': [[111, 2, 553, 350]],
'00462.jpg': [[5, 8, 83, 58]],
'00463.jpg': [[113, 75, 1551, 1136]],
'00464.jpg': [[72, 216, 884, 579]],
'00465.jpg': [[53, 115, 565, 380]],
'00466.jpg': [[104, 261, 511, 480]],
'00467.jpg': [[47, 92, 209, 178]],
'00468.jpg': [[1, 18, 300, 147]],
'00469.jpg': [[13, 88, 483, 259]],
'00470.jpg': [[4, 9, 409, 193]],
'00471.jpg': [[3, 7, 253, 165]],
'00472.jpg': [[34, 315, 1832, 905]],
'00473.jpg': [[18, 38, 249, 178]],
'00474.jpg': [[70, 125, 389, 340]],
'00475.jpg': [[21, 85, 793, 389]],
'00476.jpg': [[95, 125, 585, 390]],
'00477.jpg': [[160, 175, 923, 623]],
'00478.jpg': [[9, 7, 98, 81]],
'00479.jpg': [[133, 38, 691, 514]],
'00480.jpg': [[29, 46, 239, 134]],
'00481.jpg': [[6, 44, 270, 175]],
'00482.jpg': [[80, 91, 589, 429]],
'00483.jpg': [[18, 26, 623, 342]],
'00484.jpg': [[29, 62, 509, 288]],
'00485.jpg': [[70, 118, 401, 299]],
'00486.jpg': [[43, 74, 587, 399]],
'00487.jpg': [[8, 23, 296, 167]],
'00488.jpg': [[28, 35, 207, 139]],
'00489.jpg': [[55, 78, 454, 272]],
'00490.jpg': [[21, 51, 233, 163]],
'00491.jpg': [[37, 14, 358, 288]],
'00492.jpg': [[13, 108, 612, 386]],
'00493.jpg': [[19, 116, 700, 400]],
'00494.jpg': [[39, 337, 1239, 711]],
'00495.jpg': [[111, 98, 863, 766]],
'00496.jpg': [[24, 132, 1021, 734]],
'00497.jpg': [[6, 79, 470, 287]],
'00498.jpg': [[78, 102, 560, 368]],
'00499.jpg': [[12, 31, 412, 249]],
'00500.jpg': [[11, 10, 291, 212]],
'00501.jpg': [[4, 30, 146, 86]],
'00502.jpg': [[1, 11, 101, 84]],
'00503.jpg': [[11, 48, 491, 237]],
'00504.jpg': [[45, 63, 237, 138]],
'00505.jpg': [[49, 88, 226, 172]],
'00506.jpg': [[26, 185, 764, 610]],
'00507.jpg': [[139, 206, 590, 395]],
'00508.jpg': [[85, 237, 1561, 1052]],
'00509.jpg': [[64, 130, 554, 341]],
'00510.jpg': [[10, 73, 613, 388]],
'00511.jpg': [[74, 43, 569, 407]],
'00512.jpg': [[27, 61, 265, 160]],
'00513.jpg': [[12, 164, 533, 351]],
'00514.jpg': [[18, 22, 292, 163]],
'00515.jpg': [[17, 70, 282, 166]],
'00516.jpg': [[18, 99, 613, 427]],
'00517.jpg': [[20, 205, 1008, 694]],
'00518.jpg': [[34, 57, 237, 178]],
'00519.jpg': [[7, 39, 254, 177]],
'00520.jpg': [[14, 59, 253, 142]],
'00521.jpg': [[122, 196, 512, 439]],
'00522.jpg': [[6, 7, 94, 68]],
'00523.jpg': [[33, 151, 1000, 528]],
'00524.jpg': [[38, 98, 590, 353]],
'00525.jpg': [[116, 148, 391, 318]],
'00526.jpg': [[26, 78, 245, 161]],
'00527.jpg': [[56, 3, 736, 271]],
'00528.jpg': [[38, 74, 213, 162]],
'00529.jpg': [[45, 44, 563, 415]],
'00530.jpg': [[25, 32, 236, 180]],
'00531.jpg': [[167, 396, 1945, 1016]],
'00532.jpg': [[26, 139, 607, 343]],
'00533.jpg': [[40, 68, 487, 263]],
'00534.jpg': [[17, 120, 563, 359]],
'00535.jpg': [[508, 240, 1379, 955]],
'00536.jpg': [[29, 116, 593, 409]],
'00537.jpg': [[1, 328, 758, 773]],
'00538.jpg': [[56, 214, 1544, 755]],
'00539.jpg': [[30, 11, 413, 316]],
'00540.jpg': [[3, 39, 300, 128]],
'00541.jpg': [[12, 52, 275, 208]],
'00542.jpg': [[25, 78, 600, 421]],
'00543.jpg': [[8, 79, 397, 240]],
'00544.jpg': [[9, 72, 633, 359]],
'00545.jpg': [[5, 569, 2040, 1468]],
'00546.jpg': [[40, 114, 350, 285]],
'00547.jpg': [[63, 110, 592, 351]],
'00548.jpg': [[11, 36, 247, 175]],
'00549.jpg': [[8, 5, 547, 267]],
'00550.jpg': [[11, 130, 394, 257]],
'00551.jpg': [[227, 315, 766, 532]],
'00552.jpg': [[4, 41, 281, 148]],
'00553.jpg': [[16, 95, 628, 339]],
'00554.jpg': [[41, 38, 299, 190]],
'00555.jpg': [[37, 89, 603, 317]],
'00556.jpg': [[101, 254, 938, 605]],
'00557.jpg': [[117, 15, 723, 513]],
'00558.jpg': [[54, 49, 528, 336]],
'00559.jpg': [[20, 65, 612, 409]],
'00560.jpg': [[7, 85, 250, 191]],
'00561.jpg': [[151, 169, 573, 425]],
'00562.jpg': [[65, 95, 368, 241]],
'00563.jpg': [[9, 78, 899, 520]],
'00564.jpg': [[45, 86, 600, 355]],
'00565.jpg': [[187, 117, 649, 492]],
'00566.jpg': [[520, 373, 1582, 1043]],
'00567.jpg': [[19, 34, 247, 159]],
'00568.jpg': [[30, 128, 402, 307]],
'00569.jpg': [[25, 234, 1179, 675]],
'00570.jpg': [[10, 44, 239, 193]],
'00571.jpg': [[18, 34, 255, 182]],
'00572.jpg': [[78, 245, 896, 604]],
'00573.jpg': [[141, 525, 1803, 1854]],
'00574.jpg': [[117, 95, 612, 362]],
'00575.jpg': [[13, 75, 632, 446]],
'00576.jpg': [[20, 24, 232, 156]],
'00577.jpg': [[51, 97, 669, 286]],
'00578.jpg': [[177, 229, 931, 789]],
'00579.jpg': [[71, 82, 368, 267]],
'00580.jpg': [[49, 241, 1573, 1075]],
'00581.jpg': [[310, 322, 1121, 691]],
'00582.jpg': [[2, 11, 222, 115]],
'00583.jpg': [[107, 66, 566, 314]],
'00584.jpg': [[133, 95, 827, 540]],
'00585.jpg': [[388, 220, 1340, 975]],
'00586.jpg': [[31, 105, 246, 194]],
'00587.jpg': [[23, 90, 504, 289]],
'00588.jpg': [[12, 56, 247, 155]],
'00589.jpg': [[41, 140, 558, 325]],
'00590.jpg': [[9, 16, 299, 204]],
'00591.jpg': [[66, 36, 573, 446]],
'00592.jpg': [[62, 128, 615, 389]],
'00593.jpg': [[13, 31, 245, 155]],
'00594.jpg': [[33, 85, 596, 395]],
'00595.jpg': [[91, 143, 582, 410]],
'00596.jpg': [[9, 53, 212, 132]],
'00597.jpg': [[62, 162, 607, 458]],
'00598.jpg': [[25, 84, 280, 198]],
'00599.jpg': [[33, 56, 408, 294]],
'00600.jpg': [[47, 14, 360, 181]],
'00601.jpg': [[28, 55, 974, 675]],
'00602.jpg': [[29, 24, 591, 388]],
'00603.jpg': [[4, 16, 213, 118]],
'00604.jpg': [[59, 155, 734, 459]],
'00605.jpg': [[117, 376, 1610, 1048]],
'00606.jpg': [[99, 72, 894, 675]],
'00607.jpg': [[73, 195, 570, 449]],
'00608.jpg': [[254, 283, 922, 469]],
'00609.jpg': [[19, 33, 223, 128]],
'00610.jpg': [[395, 247, 1812, 1254]],
'00611.jpg': [[19, 83, 618, 384]],
'00612.jpg': [[33, 98, 594, 391]],
'00613.jpg': [[24, 72, 589, 481]],
'00614.jpg': [[1, 18, 1022, 692]],
'00615.jpg': [[76, 135, 965, 665]],
'00616.jpg': [[61, 66, 737, 430]],
'00617.jpg': [[39, 83, 617, 477]],
'00618.jpg': [[42, 216, 998, 619]],
'00619.jpg': [[50, 37, 308, 210]],
'00620.jpg': [[107, 110, 994, 717]],
'00621.jpg': [[10, 28, 791, 520]],
'00622.jpg': [[35, 64, 549, 375]],
'00623.jpg': [[33, 142, 612, 396]],
'00624.jpg': [[52, 58, 446, 231]],
'00625.jpg': [[12, 41, 652, 341]],
'00626.jpg': [[30, 44, 384, 243]],
'00627.jpg': [[143, 89, 390, 238]],
'00628.jpg': [[16, 20, 291, 220]],
'00629.jpg': [[3, 10, 259, 193]],
'00630.jpg': [[133, 79, 660, 551]],
'00631.jpg': [[11, 8, 270, 160]],
'00632.jpg': [[59, 224, 869, 575]],
'00633.jpg': [[84, 285, 599, 699]],
'00634.jpg': [[15, 31, 286, 148]],
'00635.jpg': [[60, 91, 727, 405]],
'00636.jpg': [[37, 51, 370, 268]],
'00637.jpg': [[69, 43, 868, 467]],
'00638.jpg': [[3, 41, 258, 157]],
'00639.jpg': [[44, 125, 668, 483]],
'00640.jpg': [[33, 177, 583, 422]],
'00641.jpg': [[14, 113, 599, 417]],
'00642.jpg': [[37, 54, 261, 175]],
'00643.jpg': [[35, 118, 573, 332]],
'00644.jpg': [[55, 138, 588, 349]],
'00645.jpg': [[20, 13, 301, 113]],
'00646.jpg': [[8, 38, 266, 146]],
'00647.jpg': [[169, 428, 1393, 1001]],
'00648.jpg': [[14, 60, 223, 138]],
'00649.jpg': [[64, 153, 818, 423]],
'00650.jpg': [[64, 136, 439, 329]],
'00651.jpg': [[8, 147, 782, 511]],
'00652.jpg': [[6, 21, 318, 140]],
'00653.jpg': [[15, 46, 194, 109]],
'00654.jpg': [[55, 61, 799, 445]],
'00655.jpg': [[82, 185, 928, 579]],
'00656.jpg': [[43, 75, 445, 252]],
'00657.jpg': [[6, 15, 271, 160]],
'00658.jpg': [[192, 235, 1260, 878]],
'00659.jpg': [[136, 308, 893, 710]],
'00660.jpg': [[173, 132, 497, 296]],
'00661.jpg': [[8, 71, 421, 285]],
'00662.jpg': [[47, 57, 612, 455]],
'00663.jpg': [[49, 91, 675, 322]],
'00664.jpg': [[31, 66, 619, 425]],
'00665.jpg': [[12, 46, 239, 154]],
'00666.jpg': [[127, 137, 673, 352]],
'00667.jpg': [[21, 44, 453, 318]],
'00668.jpg': [[14, 48, 256, 164]],
'00669.jpg': [[12, 41, 246, 186]],
'00670.jpg': [[97, 49, 455, 326]],
'00671.jpg': [[24, 91, 506, 270]],
'00672.jpg': [[50, 16, 226, 184]],
'00673.jpg': [[25, 1, 259, 189]],
'00674.jpg': [[5, 16, 153, 102]],
'00675.jpg': [[103, 289, 1049, 584]],
'00676.jpg': [[35, 107, 620, 389]],
'00677.jpg': [[11, 34, 217, 140]],
'00678.jpg': [[105, 400, 978, 692]],
'00679.jpg': [[190, 229, 681, 454]],
'00680.jpg': [[59, 52, 247, 155]],
'00681.jpg': [[5, 32, 588, 340]],
'00682.jpg': [[11, 15, 297, 201]],
'00683.jpg': [[108, 1, 550, 295]],
'00684.jpg': [[68, 37, 698, 446]],
'00685.jpg': [[260, 498, 1700, 1030]],
'00686.jpg': [[30, 52, 385, 190]],
'00687.jpg': [[167, 84, 854, 575]],
'00688.jpg': [[75, 6, 864, 628]],
'00689.jpg': [[59, 63, 369, 293]],
'00690.jpg': [[111, 55, 346, 217]],
'00691.jpg': [[84, 189, 573, 376]],
'00692.jpg': [[48, 45, 589, 320]],
'00693.jpg': [[64, 103, 934, 617]],
'00694.jpg': [[14, 43, 221, 150]],
'00695.jpg': [[87, 80, 567, 458]],
'00696.jpg': [[2, 73, 567, 331]],
'00697.jpg': [[16, 55, 560, 382]],
'00698.jpg': [[29, 24, 219, 151]],
'00699.jpg': [[37, 36, 609, 376]],
'00700.jpg': [[93, 101, 404, 274]],
'00701.jpg': [[22, 49, 276, 181]],
'00702.jpg': [[567, 449, 1428, 988]],
'00703.jpg': [[21, 137, 472, 337]],
'00704.jpg': [[11, 29, 631, 435]],
'00705.jpg': [[17, 8, 343, 248]],
'00706.jpg': [[13, 20, 626, 446]],
'00707.jpg': [[26, 32, 677, 418]],
'00708.jpg': [[102, 298, 903, 609]],
'00709.jpg': [[129, 256, 729, 498]],
'00710.jpg': [[13, 34, 272, 147]],
'00711.jpg': [[29, 19, 623, 405]],
'00712.jpg': [[457, 414, 1308, 951]],
'00713.jpg': [[58, 82, 966, 720]],
'00714.jpg': [[75, 121, 603, 370]],
'00715.jpg': [[47, 89, 690, 441]],
'00716.jpg': [[8, 91, 257, 189]],
'00717.jpg': [[21, 31, 609, 359]],
'00718.jpg': [[296, 222, 1121, 607]],
'00719.jpg': [[118, 93, 380, 317]],
'00720.jpg': [[10, 62, 152, 117]],
'00721.jpg': [[74, 231, 418, 360]],
'00722.jpg': [[62, 102, 565, 405]],
'00723.jpg': [[25, 241, 751, 524]],
'00724.jpg': [[100, 27, 238, 125]],
'00725.jpg': [[206, 55, 808, 570]],
'00726.jpg': [[7, 85, 246, 182]],
'00727.jpg': [[1, 31, 208, 92]],
'00728.jpg': [[38, 66, 266, 181]],
'00729.jpg': [[64, 160, 420, 347]],
'00730.jpg': [[30, 56, 619, 395]],
'00731.jpg': [[30, 37, 608, 331]],
'00732.jpg': [[40, 349, 571, 613]],
'00733.jpg': [[289, 136, 555, 306]],
'00734.jpg': [[16, 157, 778, 520]],
'00735.jpg': [[10, 60, 894, 506]],
'00736.jpg': [[18, 4, 428, 251]],
'00737.jpg': [[39, 12, 216, 187]],
'00738.jpg': [[42, 153, 602, 389]],
'00739.jpg': [[29, 86, 601, 373]],
'00740.jpg': [[37, 77, 582, 342]],
'00741.jpg': [[41, 81, 629, 410]],
'00742.jpg': [[5, 25, 271, 177]],
'00743.jpg': [[45, 115, 627, 455]],
'00744.jpg': [[51, 52, 541, 364]],
'00745.jpg': [[32, 72, 591, 386]],
'00746.jpg': [[10, 18, 242, 181]],
'00747.jpg': [[213, 307, 763, 557]],
'00748.jpg': [[54, 39, 392, 188]],
'00749.jpg': [[15, 36, 271, 154]],
'00750.jpg': [[17, 70, 370, 257]],
'00751.jpg': [[66, 247, 978, 527]],
'00752.jpg': [[305, 270, 1439, 959]],
'00753.jpg': [[68, 128, 549, 419]],
'00754.jpg': [[60, 2, 578, 440]],
'00755.jpg': [[30, 32, 593, 296]],
'00756.jpg': [[21, 47, 580, 344]],
'00757.jpg': [[85, 118, 379, 290]],
'00758.jpg': [[30, 154, 771, 502]],
'00759.jpg': [[25, 99, 602, 388]],
'00760.jpg': [[100, 5, 1179, 862]],
'00761.jpg': [[57, 131, 570, 397]],
'00762.jpg': [[6, 106, 611, 372]],
'00763.jpg': [[66, 176, 588, 362]],
'00764.jpg': [[8, 106, 391, 262]],
'00765.jpg': [[6, 24, 297, 153]],
'00766.jpg': [[18, 92, 532, 297]],
'00767.jpg': [[106, 73, 805, 546]],
'00768.jpg': [[9, 33, 246, 161]],
'00769.jpg': [[61, 222, 959, 569]],
'00770.jpg': [[21, 45, 772, 547]],
'00771.jpg': [[22, 59, 626, 412]],
'00772.jpg': [[30, 31, 611, 453]],
'00773.jpg': [[33, 50, 197, 150]],
'00774.jpg': [[45, 199, 615, 432]],
'00775.jpg': [[82, 99, 565, 351]],
'00776.jpg': [[15, 45, 639, 420]],
'00777.jpg': [[18, 40, 491, 283]],
'00778.jpg': [[60, 17, 455, 322]],
'00779.jpg': [[17, 121, 555, 384]],
'00780.jpg': [[36, 63, 478, 234]],
'00781.jpg': [[38, 6, 595, 476]],
'00782.jpg': [[68, 95, 593, 319]],
'00783.jpg': [[156, 255, 955, 619]],
'00784.jpg': [[42, 163, 725, 382]],
'00785.jpg': [[19, 96, 469, 266]],
'00786.jpg': [[13, 32, 774, 529]],
'00787.jpg': [[114, 128, 800, 432]],
'00788.jpg': [[30, 105, 294, 233]],
'00789.jpg': [[23, 25, 245, 150]],
'00790.jpg': [[124, 406, 1546, 1120]],
'00791.jpg': [[9, 61, 334, 199]],
'00792.jpg': [[155, 59, 532, 361]],
'00793.jpg': [[7, 50, 394, 261]],
'00794.jpg': [[23, 102, 408, 265]],
'00795.jpg': [[9, 30, 251, 169]],
'00796.jpg': [[38, 213, 564, 436]],
'00797.jpg': [[135, 62, 922, 611]],
'00798.jpg': [[10, 1, 576, 261]],
'00799.jpg': [[11, 96, 625, 387]],
'00800.jpg': [[3, 73, 211, 148]],
'00801.jpg': [[57, 158, 351, 296]],
'00802.jpg': [[45, 140, 357, 247]],
'00803.jpg': [[36, 36, 549, 457]],
'00804.jpg': [[78, 31, 570, 419]],
'00805.jpg': [[15, 32, 296, 149]],
'00806.jpg': [[79, 171, 713, 385]],
'00807.jpg': [[13, 87, 630, 401]],
'00808.jpg': [[9, 46, 141, 94]],
'00809.jpg': [[58, 13, 579, 414]],
'00810.jpg': [[66, 18, 237, 185]],
'00811.jpg': [[49, 114, 577, 367]],
'00812.jpg': [[1, 63, 480, 315]],
'00813.jpg': [[32, 93, 941, 696]],
'00814.jpg': [[17, 35, 234, 167]],
'00815.jpg': [[34, 74, 473, 273]],
'00816.jpg': [[12, 34, 139, 78]],
'00817.jpg': [[28, 96, 477, 317]],
'00818.jpg': [[57, 220, 673, 468]],
'00819.jpg': [[8, 17, 388, 287]],
'00820.jpg': [[30, 116, 963, 523]],
'00821.jpg': [[37, 153, 411, 299]],
'00822.jpg': [[391, 169, 859, 401]],
'00823.jpg': [[15, 24, 144, 72]],
'00824.jpg': [[174, 243, 846, 546]],
'00825.jpg': [[3, 57, 455, 287]],
'00826.jpg': [[120, 90, 610, 359]],
'00827.jpg': [[165, 123, 645, 366]],
'00828.jpg': [[4, 91, 600, 308]],
'00829.jpg': [[191, 332, 1027, 663]],
'00830.jpg': [[159, 131, 533, 356]],
'00831.jpg': [[51, 55, 618, 377]],
'00832.jpg': [[14, 5, 246, 188]],
'00833.jpg': [[102, 85, 463, 360]],
'00834.jpg': [[26, 113, 612, 372]],
'00835.jpg': [[80, 158, 453, 345]],
'00836.jpg': [[27, 125, 425, 311]],
'00837.jpg': [[44, 112, 633, 374]],
'00838.jpg': [[20, 224, 988, 644]],
'00839.jpg': [[35, 19, 614, 435]],
'00840.jpg': [[105, 104, 626, 312]],
'00841.jpg': [[41, 67, 432, 286]],
'00842.jpg': [[42, 147, 753, 414]],
'00843.jpg': [[17, 31, 342, 242]],
'00844.jpg': [[30, 15, 639, 419]],
'00845.jpg': [[52, 16, 246, 168]],
'00846.jpg': [[39, 119, 558, 434]],
'00847.jpg': [[56, 23, 415, 334]],
'00848.jpg': [[21, 96, 755, 412]],
'00849.jpg': [[1, 125, 549, 372]],
'00850.jpg': [[47, 179, 1227, 812]],
'00851.jpg': [[9, 85, 335, 209]],
'00852.jpg': [[30, 308, 1511, 975]],
'00853.jpg': [[35, 258, 1218, 908]],
'00854.jpg': [[45, 41, 420, 280]],
'00855.jpg': [[29, 66, 614, 433]],
'00856.jpg': [[51, 105, 341, 189]],
'00857.jpg': [[57, 87, 569, 437]],
'00858.jpg': [[139, 416, 1954, 1149]],
'00859.jpg': [[11, 32, 575, 357]],
'00860.jpg': [[273, 145, 658, 366]],
'00861.jpg': [[83, 103, 500, 371]],
'00862.jpg': [[36, 47, 964, 444]],
'00863.jpg': [[26, 98, 623, 431]],
'00864.jpg': [[25, 128, 959, 450]],
'00865.jpg': [[11, 74, 392, 255]],
'00866.jpg': [[11, 79, 627, 480]],
'00867.jpg': [[20, 135, 557, 367]],
'00868.jpg': [[17, 38, 231, 152]],
'00869.jpg': [[35, 75, 592, 334]],
'00870.jpg': [[38, 74, 326, 205]],
'00871.jpg': [[373, 350, 780, 631]],
'00872.jpg': [[69, 109, 461, 284]],
'00873.jpg': [[517, 291, 765, 462]],
'00874.jpg': [[49, 142, 426, 307]],
'00875.jpg': [[34, 79, 749, 461]],
'00876.jpg': [[51, 121, 588, 387]],
'00877.jpg': [[61, 33, 241, 195]],
'00878.jpg': [[101, 162, 882, 650]],
'00879.jpg': [[16, 196, 670, 405]],
'00880.jpg': [[16, 99, 439, 254]],
'00881.jpg': [[18, 63, 885, 663]],
'00882.jpg': [[140, 122, 1059, 496]],
'00883.jpg': [[14, 29, 643, 408]],
'00884.jpg': [[14, 72, 245, 173]],
'00885.jpg': [[51, 31, 565, 352]],
'00886.jpg': [[111, 68, 393, 309]],
'00887.jpg': [[6, 9, 124, 89]],
'00888.jpg': [[7, 51, 253, 156]],
'00889.jpg': [[34, 400, 1555, 1153]],
'00890.jpg': [[26, 15, 698, 386]],
'00891.jpg': [[93, 106, 1160, 799]],
'00892.jpg': [[32, 48, 1534, 791]],
'00893.jpg': [[28, 134, 410, 316]],
'00894.jpg': [[11, 31, 578, 268]],
'00895.jpg': [[24, 108, 709, 375]],
'00896.jpg': [[61, 55, 258, 161]],
'00897.jpg': [[30, 34, 513, 274]],
'00898.jpg': [[89, 68, 483, 310]],
'00899.jpg': [[60, 93, 657, 353]],
'00900.jpg': [[64, 75, 256, 158]],
'00901.jpg': [[160, 59, 759, 346]],
'00902.jpg': [[6, 40, 256, 170]],
'00903.jpg': [[316, 393, 1755, 1074]],
'00904.jpg': [[15, 96, 504, 279]],
'00905.jpg': [[26, 81, 615, 365]],
'00906.jpg': [[68, 52, 435, 331]],
'00907.jpg': [[21, 73, 464, 294]],
'00908.jpg': [[18, 71, 632, 390]],
'00909.jpg': [[50, 63, 541, 346]],
'00910.jpg': [[33, 2, 593, 456]],
'00911.jpg': [[20, 76, 898, 612]],
'00912.jpg': [[82, 33, 542, 234]],
'00913.jpg': [[9, 51, 635, 414]],
'00914.jpg': [[40, 283, 1546, 964]],
'00915.jpg': [[206, 222, 746, 467]],
'00916.jpg': [[15, 70, 622, 378]],
'00917.jpg': [[11, 51, 442, 198]],
'00918.jpg': [[37, 180, 615, 445]],
'00919.jpg': [[127, 155, 525, 383]],
'00920.jpg': [[56, 23, 776, 372]],
'00921.jpg': [[88, 367, 1189, 730]],
'00922.jpg': [[10, 29, 444, 203]],
'00923.jpg': [[13, 23, 150, 82]],
'00924.jpg': [[14, 63, 287, 181]],
'00925.jpg': [[3, 135, 1199, 771]],
'00926.jpg': [[8, 37, 237, 142]],
'00927.jpg': [[25, 68, 618, 365]],
'00928.jpg': [[75, 130, 702, 396]],
'00929.jpg': [[22, 29, 498, 204]],
'00930.jpg': [[31, 89, 296, 187]],
'00931.jpg': [[86, 194, 570, 426]],
'00932.jpg': [[37, 57, 392, 294]],
'00933.jpg': [[48, 36, 576, 469]],
'00934.jpg': [[90, 31, 922, 699]],
'00935.jpg': [[3, 77, 615, 463]],
'00936.jpg': [[8, 13, 644, 255]],
'00937.jpg': [[18, 56, 223, 142]],
'00938.jpg': [[69, 59, 736, 415]],
'00939.jpg': [[11, 95, 619, 301]],
'00940.jpg': [[109, 113, 360, 233]],
'00941.jpg': [[57, 139, 537, 364]],
'00942.jpg': [[226, 220, 926, 543]],
'00943.jpg': [[249, 129, 699, 394]],
'00944.jpg': [[248, 169, 737, 454]],
'00945.jpg': [[31, 55, 216, 132]],
'00946.jpg': [[48, 24, 441, 202]],
'00947.jpg': [[12, 105, 417, 257]],
'00948.jpg': [[7, 69, 250, 176]],
'00949.jpg': [[48, 10, 197, 112]],
'00950.jpg': [[193, 196, 1372, 1075]],
'00951.jpg': [[115, 34, 733, 555]],
'00952.jpg': [[10, 26, 274, 162]],
'00953.jpg': [[151, 97, 842, 537]],
'00954.jpg': [[22, 12, 685, 330]],
'00955.jpg': [[37, 109, 692, 363]],
'00956.jpg': [[8, 17, 590, 298]],
'00957.jpg': [[116, 105, 948, 650]],
'00958.jpg': [[143, 229, 971, 598]],
'00959.jpg': [[125, 234, 848, 431]],
'00960.jpg': [[3, 56, 251, 148]],
'00961.jpg': [[1, 86, 585, 475]],
'00962.jpg': [[189, 64, 1363, 883]],
'00963.jpg': [[46, 76, 562, 265]],
'00964.jpg': [[32, 70, 370, 287]],
'00965.jpg': [[1, 97, 494, 375]],
'00966.jpg': [[18, 89, 626, 416]],
'00967.jpg': [[57, 108, 551, 400]],
'00968.jpg': [[8, 67, 800, 511]],
'00969.jpg': [[367, 292, 1199, 749]],
'00970.jpg': [[23, 27, 555, 326]],
'00971.jpg': [[32, 178, 597, 397]],
'00972.jpg': [[187, 91, 509, 315]],
'00973.jpg': [[41, 26, 842, 262]],
'00974.jpg': [[26, 118, 445, 306]],
'00975.jpg': [[44, 136, 581, 362]],
'00976.jpg': [[25, 64, 255, 138]],
'00977.jpg': [[127, 61, 597, 344]],
'00978.jpg': [[83, 106, 732, 434]],
'00979.jpg': [[37, 126, 963, 734]],
'00980.jpg': [[133, 165, 769, 535]],
'00981.jpg': [[28, 68, 1978, 1038]],
'00982.jpg': [[16, 52, 259, 174]],
'00983.jpg': [[78, 21, 521, 283]],
'00984.jpg': [[128, 250, 899, 571]],
'00985.jpg': [[79, 64, 281, 190]],
'00986.jpg': [[30, 114, 1001, 765]],
'00987.jpg': [[10, 25, 310, 221]],
'00988.jpg': [[394, 379, 1624, 1033]],
'00989.jpg': [[9, 34, 253, 157]],
'00990.jpg': [[5, 99, 638, 324]],
'00991.jpg': [[108, 62, 391, 327]],
'00992.jpg': [[59, 106, 581, 309]],
'00993.jpg': [[20, 222, 948, 654]],
'00994.jpg': [[55, 297, 664, 600]],
'00995.jpg': [[75, 186, 596, 571]],
'00996.jpg': [[3, 70, 333, 212]],
'00997.jpg': [[11, 84, 253, 182]],
'00998.jpg': [[96, 3, 635, 445]],
'00999.jpg': [[79, 75, 585, 355]],
'01000.jpg': [[214, 382, 1459, 1117]],
...}
test_dict
{'00001.jpg': [[30, 52, 246, 147]],
'00002.jpg': [[100, 19, 576, 203]],
'00003.jpg': [[51, 105, 968, 659]],
'00004.jpg': [[67, 84, 581, 407]],
'00005.jpg': [[140, 151, 593, 339]],
'00006.jpg': [[20, 77, 420, 301]],
'00007.jpg': [[249, 166, 2324, 1459]],
'00008.jpg': [[119, 215, 1153, 719]],
'00009.jpg': [[1, 7, 275, 183]],
'00010.jpg': [[28, 55, 241, 177]],
'00011.jpg': [[30, 20, 438, 253]],
'00012.jpg': [[14, 21, 242, 156]],
'00013.jpg': [[1, 42, 495, 313]],
'00014.jpg': [[8, 63, 395, 287]],
'00015.jpg': [[50, 103, 569, 403]],
'00016.jpg': [[80, 116, 359, 250]],
'00017.jpg': [[9, 48, 630, 361]],
'00018.jpg': [[113, 66, 554, 369]],
'00019.jpg': [[82, 70, 277, 168]],
'00020.jpg': [[25, 56, 569, 416]],
'00021.jpg': [[11, 55, 298, 196]],
'00022.jpg': [[11, 65, 484, 304]],
'00023.jpg': [[37, 115, 1561, 1096]],
'00024.jpg': [[1, 26, 160, 89]],
'00025.jpg': [[131, 301, 1279, 876]],
'00026.jpg': [[93, 20, 523, 371]],
'00027.jpg': [[59, 101, 938, 652]],
'00028.jpg': [[15, 93, 608, 408]],
'00029.jpg': [[43, 67, 386, 340]],
'00030.jpg': [[56, 80, 594, 365]],
'00031.jpg': [[33, 107, 953, 610]],
'00032.jpg': [[178, 316, 1345, 1132]],
'00033.jpg': [[39, 46, 575, 349]],
'00034.jpg': [[11, 64, 592, 351]],
'00035.jpg': [[10, 22, 492, 316]],
'00036.jpg': [[73, 421, 1525, 1114]],
'00037.jpg': [[27, 72, 591, 414]],
'00038.jpg': [[13, 56, 215, 143]],
'00039.jpg': [[22, 39, 547, 250]],
'00040.jpg': [[109, 66, 907, 723]],
'00041.jpg': [[116, 136, 679, 449]],
'00042.jpg': [[10, 38, 293, 210]],
'00043.jpg': [[168, 172, 877, 592]],
'00044.jpg': [[15, 58, 254, 195]],
'00045.jpg': [[100, 52, 719, 405]],
'00046.jpg': [[90, 177, 659, 425]],
'00047.jpg': [[22, 174, 951, 604]],
'00048.jpg': [[47, 95, 848, 622]],
'00049.jpg': [[17, 139, 484, 335]],
'00050.jpg': [[63, 131, 950, 610]],
'00051.jpg': [[48, 32, 451, 300]],
'00052.jpg': [[24, 57, 286, 188]],
'00053.jpg': [[12, 10, 634, 318]],
'00054.jpg': [[6, 22, 254, 174]],
'00055.jpg': [[84, 169, 561, 443]],
'00056.jpg': [[40, 28, 618, 395]],
'00057.jpg': [[56, 68, 605, 407]],
'00058.jpg': [[109, 41, 548, 301]],
'00059.jpg': [[21, 55, 241, 164]],
'00060.jpg': [[41, 150, 602, 331]],
'00061.jpg': [[3, 1, 291, 209]],
'00062.jpg': [[38, 51, 225, 163]],
'00063.jpg': [[2, 5, 495, 207]],
'00064.jpg': [[21, 69, 286, 214]],
'00065.jpg': [[6, 7, 482, 425]],
'00066.jpg': [[56, 136, 965, 561]],
'00067.jpg': [[17, 37, 544, 290]],
'00068.jpg': [[31, 92, 470, 331]],
'00069.jpg': [[27, 93, 765, 475]],
'00070.jpg': [[23, 22, 364, 260]],
'00071.jpg': [[54, 36, 430, 339]],
'00072.jpg': [[239, 210, 1155, 689]],
'00073.jpg': [[57, 109, 951, 675]],
'00074.jpg': [[19, 50, 599, 367]],
'00075.jpg': [[33, 92, 596, 436]],
'00076.jpg': [[11, 13, 84, 60]],
'00077.jpg': [[16, 13, 657, 413]],
'00078.jpg': [[5, 51, 197, 147]],
'00079.jpg': [[144, 117, 871, 527]],
'00080.jpg': [[6, 99, 624, 381]],
'00081.jpg': [[6, 7, 215, 118]],
'00082.jpg': [[16, 14, 145, 106]],
'00083.jpg': [[31, 142, 307, 279]],
'00084.jpg': [[200, 44, 518, 207]],
'00085.jpg': [[38, 114, 619, 345]],
'00086.jpg': [[157, 592, 1300, 1087]],
'00087.jpg': [[344, 156, 1352, 998]],
'00088.jpg': [[91, 11, 547, 328]],
'00089.jpg': [[82, 95, 970, 596]],
'00090.jpg': [[32, 91, 582, 360]],
'00091.jpg': [[47, 38, 259, 155]],
'00092.jpg': [[112, 53, 570, 360]],
'00093.jpg': [[70, 110, 759, 506]],
'00094.jpg': [[10, 21, 689, 526]],
'00095.jpg': [[214, 491, 1324, 838]],
'00096.jpg': [[28, 1, 434, 316]],
'00097.jpg': [[9, 31, 380, 215]],
'00098.jpg': [[1, 42, 595, 432]],
'00099.jpg': [[47, 115, 920, 614]],
'00100.jpg': [[33, 70, 234, 164]],
'00101.jpg': [[29, 87, 618, 421]],
'00102.jpg': [[11, 39, 296, 200]],
'00103.jpg': [[82, 77, 1044, 660]],
'00104.jpg': [[1, 85, 576, 300]],
'00105.jpg': [[68, 7, 450, 309]],
'00106.jpg': [[24, 33, 397, 225]],
'00107.jpg': [[20, 57, 996, 748]],
'00108.jpg': [[157, 291, 848, 525]],
'00109.jpg': [[79, 100, 1344, 700]],
'00110.jpg': [[37, 45, 744, 554]],
'00111.jpg': [[85, 52, 379, 242]],
'00112.jpg': [[121, 293, 820, 580]],
'00113.jpg': [[156, 87, 1160, 741]],
'00114.jpg': [[54, 66, 483, 292]],
'00115.jpg': [[109, 327, 938, 648]],
'00116.jpg': [[59, 150, 611, 458]],
'00117.jpg': [[5, 42, 494, 298]],
'00118.jpg': [[13, 127, 629, 415]],
'00119.jpg': [[361, 347, 1189, 747]],
'00120.jpg': [[14, 63, 275, 188]],
'00121.jpg': [[47, 164, 1015, 754]],
'00122.jpg': [[61, 124, 628, 427]],
'00123.jpg': [[18, 77, 617, 403]],
'00124.jpg': [[1, 1, 141, 80]],
'00125.jpg': [[16, 1, 703, 518]],
'00126.jpg': [[58, 56, 477, 279]],
'00127.jpg': [[151, 114, 607, 417]],
'00128.jpg': [[122, 149, 743, 455]],
'00129.jpg': [[39, 105, 602, 367]],
'00130.jpg': [[27, 74, 774, 449]],
'00131.jpg': [[5, 51, 257, 147]],
'00132.jpg': [[29, 23, 462, 332]],
'00133.jpg': [[54, 94, 611, 393]],
'00134.jpg': [[50, 84, 739, 287]],
'00135.jpg': [[52, 212, 561, 376]],
'00136.jpg': [[61, 103, 751, 472]],
'00137.jpg': [[64, 187, 959, 617]],
'00138.jpg': [[6, 8, 156, 119]],
'00139.jpg': [[144, 235, 531, 474]],
'00140.jpg': [[51, 117, 458, 296]],
'00141.jpg': [[12, 56, 398, 297]],
'00142.jpg': [[82, 2, 505, 243]],
'00143.jpg': [[393, 316, 1702, 1266]],
'00144.jpg': [[22, 50, 447, 268]],
'00145.jpg': [[1, 54, 572, 346]],
'00146.jpg': [[30, 85, 609, 397]],
'00147.jpg': [[85, 98, 390, 306]],
'00148.jpg': [[125, 17, 541, 330]],
'00149.jpg': [[17, 84, 899, 420]],
'00150.jpg': [[84, 13, 418, 310]],
'00151.jpg': [[47, 27, 602, 390]],
'00152.jpg': [[307, 262, 987, 518]],
'00153.jpg': [[117, 90, 545, 362]],
'00154.jpg': [[129, 265, 1205, 688]],
'00155.jpg': [[40, 110, 537, 292]],
'00156.jpg': [[217, 277, 1366, 895]],
'00157.jpg': [[23, 17, 252, 164]],
'00158.jpg': [[37, 126, 614, 363]],
'00159.jpg': [[9, 210, 794, 489]],
'00160.jpg': [[181, 349, 1115, 822]],
'00161.jpg': [[58, 104, 516, 278]],
'00162.jpg': [[81, 19, 403, 259]],
'00163.jpg': [[130, 88, 1086, 646]],
'00164.jpg': [[37, 123, 472, 271]],
'00165.jpg': [[52, 253, 1546, 961]],
'00166.jpg': [[33, 107, 609, 372]],
'00167.jpg': [[3, 150, 589, 373]],
'00168.jpg': [[49, 114, 615, 471]],
'00169.jpg': [[18, 50, 243, 138]],
'00170.jpg': [[44, 14, 588, 448]],
'00171.jpg': [[36, 112, 653, 297]],
'00172.jpg': [[208, 347, 982, 571]],
'00173.jpg': [[111, 97, 673, 377]],
'00174.jpg': [[34, 82, 250, 165]],
'00175.jpg': [[64, 17, 442, 251]],
'00176.jpg': [[31, 58, 614, 341]],
'00177.jpg': [[32, 23, 218, 150]],
'00178.jpg': [[6, 115, 547, 362]],
'00179.jpg': [[26, 128, 990, 598]],
'00180.jpg': [[20, 131, 758, 447]],
'00181.jpg': [[16, 63, 598, 372]],
'00182.jpg': [[39, 18, 276, 190]],
'00183.jpg': [[27, 82, 618, 400]],
'00184.jpg': [[38, 68, 426, 224]],
'00185.jpg': [[1, 51, 276, 149]],
'00186.jpg': [[29, 128, 599, 391]],
'00187.jpg': [[61, 34, 602, 440]],
'00188.jpg': [[7, 57, 255, 159]],
'00189.jpg': [[27, 24, 611, 417]],
'00190.jpg': [[24, 51, 252, 168]],
'00191.jpg': [[3, 110, 1189, 686]],
'00192.jpg': [[15, 156, 920, 614]],
'00193.jpg': [[158, 87, 859, 589]],
'00194.jpg': [[104, 180, 916, 563]],
'00195.jpg': [[67, 164, 607, 439]],
'00196.jpg': [[348, 600, 1148, 891]],
'00197.jpg': [[143, 79, 613, 332]],
'00198.jpg': [[10, 21, 277, 141]],
'00199.jpg': [[6, 52, 455, 220]],
'00200.jpg': [[41, 216, 970, 530]],
'00201.jpg': [[53, 59, 268, 173]],
'00202.jpg': [[1, 67, 500, 277]],
'00203.jpg': [[93, 215, 741, 415]],
'00204.jpg': [[18, 51, 430, 265]],
'00205.jpg': [[217, 145, 1345, 931]],
'00206.jpg': [[215, 142, 994, 662]],
'00207.jpg': [[24, 51, 274, 187]],
'00208.jpg': [[105, 141, 676, 555]],
'00209.jpg': [[15, 74, 625, 413]],
'00210.jpg': [[29, 84, 367, 251]],
'00211.jpg': [[26, 37, 572, 429]],
'00212.jpg': [[85, 222, 727, 424]],
'00213.jpg': [[166, 28, 642, 483]],
'00214.jpg': [[91, 59, 520, 386]],
'00215.jpg': [[47, 161, 569, 366]],
'00216.jpg': [[93, 137, 901, 686]],
'00217.jpg': [[219, 479, 1077, 808]],
'00218.jpg': [[42, 116, 541, 331]],
'00219.jpg': [[35, 5, 198, 114]],
'00220.jpg': [[43, 164, 603, 355]],
'00221.jpg': [[196, 79, 581, 328]],
'00222.jpg': [[13, 21, 493, 362]],
'00223.jpg': [[56, 46, 600, 432]],
'00224.jpg': [[11, 84, 623, 402]],
'00225.jpg': [[42, 27, 764, 460]],
'00226.jpg': [[13, 206, 1003, 548]],
'00227.jpg': [[1, 46, 446, 322]],
'00228.jpg': [[36, 46, 234, 130]],
'00229.jpg': [[32, 41, 203, 151]],
'00230.jpg': [[62, 165, 1007, 548]],
'00231.jpg': [[42, 58, 228, 160]],
'00232.jpg': [[43, 36, 609, 355]],
'00233.jpg': [[20, 65, 628, 393]],
'00234.jpg': [[85, 15, 735, 488]],
'00235.jpg': [[40, 57, 412, 260]],
'00236.jpg': [[15, 18, 575, 245]],
'00237.jpg': [[55, 10, 274, 135]],
'00238.jpg': [[1, 130, 1001, 608]],
'00239.jpg': [[58, 160, 661, 442]],
'00240.jpg': [[28, 41, 875, 568]],
'00241.jpg': [[67, 134, 772, 458]],
'00242.jpg': [[86, 92, 560, 355]],
'00243.jpg': [[32, 25, 248, 157]],
'00244.jpg': [[7, 81, 450, 282]],
'00245.jpg': [[17, 70, 420, 255]],
'00246.jpg': [[31, 91, 618, 398]],
'00247.jpg': [[42, 78, 598, 405]],
'00248.jpg': [[47, 152, 759, 429]],
'00249.jpg': [[28, 27, 397, 217]],
'00250.jpg': [[22, 128, 1156, 857]],
'00251.jpg': [[112, 30, 486, 329]],
'00252.jpg': [[68, 1, 560, 419]],
'00253.jpg': [[62, 120, 946, 704]],
'00254.jpg': [[298, 264, 1319, 876]],
'00255.jpg': [[77, 69, 285, 168]],
'00256.jpg': [[52, 90, 596, 362]],
'00257.jpg': [[79, 146, 1529, 993]],
'00258.jpg': [[39, 80, 606, 393]],
'00259.jpg': [[36, 25, 597, 423]],
'00260.jpg': [[19, 53, 620, 366]],
'00261.jpg': [[39, 72, 602, 403]],
'00262.jpg': [[68, 113, 542, 374]],
'00263.jpg': [[47, 18, 400, 238]],
'00264.jpg': [[29, 105, 514, 257]],
'00265.jpg': [[107, 49, 963, 734]],
'00266.jpg': [[41, 188, 602, 357]],
'00267.jpg': [[17, 29, 422, 202]],
'00268.jpg': [[67, 36, 417, 259]],
'00269.jpg': [[36, 18, 606, 455]],
'00270.jpg': [[53, 39, 600, 417]],
'00271.jpg': [[33, 119, 611, 390]],
'00272.jpg': [[18, 1, 578, 474]],
'00273.jpg': [[61, 34, 1009, 752]],
'00274.jpg': [[48, 2, 249, 155]],
'00275.jpg': [[83, 37, 500, 387]],
'00276.jpg': [[51, 135, 928, 435]],
'00277.jpg': [[50, 86, 487, 301]],
'00278.jpg': [[62, 43, 988, 638]],
'00279.jpg': [[8, 86, 445, 268]],
'00280.jpg': [[79, 15, 555, 416]],
'00281.jpg': [[35, 29, 336, 301]],
'00282.jpg': [[12, 101, 637, 383]],
'00283.jpg': [[5, 49, 255, 164]],
'00284.jpg': [[67, 57, 461, 303]],
'00285.jpg': [[18, 152, 783, 455]],
'00286.jpg': [[60, 71, 671, 378]],
'00287.jpg': [[39, 42, 268, 195]],
'00288.jpg': [[151, 489, 1954, 1289]],
'00289.jpg': [[74, 70, 971, 675]],
'00290.jpg': [[5, 63, 602, 417]],
'00291.jpg': [[241, 379, 1016, 731]],
'00292.jpg': [[28, 97, 409, 227]],
'00293.jpg': [[205, 108, 2460, 1712]],
'00294.jpg': [[67, 118, 959, 617]],
'00295.jpg': [[277, 118, 800, 369]],
'00296.jpg': [[183, 137, 494, 344]],
'00297.jpg': [[36, 59, 663, 436]],
'00298.jpg': [[11, 45, 254, 157]],
'00299.jpg': [[365, 37, 1444, 869]],
'00300.jpg': [[266, 167, 645, 437]],
'00301.jpg': [[19, 36, 264, 146]],
'00302.jpg': [[9, 30, 253, 167]],
'00303.jpg': [[28, 116, 412, 245]],
'00304.jpg': [[65, 85, 548, 420]],
'00305.jpg': [[91, 61, 452, 286]],
'00306.jpg': [[1, 15, 253, 123]],
'00307.jpg': [[380, 247, 1203, 750]],
'00308.jpg': [[26, 232, 629, 453]],
'00309.jpg': [[186, 355, 1100, 741]],
'00310.jpg': [[176, 186, 1191, 819]],
'00311.jpg': [[17, 61, 488, 337]],
'00312.jpg': [[44, 292, 732, 544]],
'00313.jpg': [[19, 24, 286, 171]],
'00314.jpg': [[49, 97, 396, 260]],
'00315.jpg': [[13, 211, 624, 427]],
'00316.jpg': [[90, 233, 1172, 766]],
'00317.jpg': [[24, 74, 431, 266]],
'00318.jpg': [[83, 55, 465, 324]],
'00319.jpg': [[50, 92, 256, 174]],
'00320.jpg': [[22, 38, 546, 382]],
'00321.jpg': [[9, 94, 261, 195]],
'00322.jpg': [[35, 146, 593, 339]],
'00323.jpg': [[12, 31, 489, 226]],
'00324.jpg': [[14, 50, 334, 223]],
'00325.jpg': [[5, 164, 925, 723]],
'00326.jpg': [[65, 130, 555, 318]],
'00327.jpg': [[20, 85, 625, 304]],
'00328.jpg': [[117, 93, 556, 375]],
'00329.jpg': [[5, 109, 385, 255]],
'00330.jpg': [[9, 15, 596, 228]],
'00331.jpg': [[1, 1, 196, 121]],
'00332.jpg': [[5, 132, 497, 305]],
'00333.jpg': [[51, 48, 213, 172]],
'00334.jpg': [[41, 95, 1017, 583]],
'00335.jpg': [[8, 23, 236, 158]],
'00336.jpg': [[8, 13, 251, 163]],
'00337.jpg': [[12, 13, 191, 132]],
'00338.jpg': [[195, 232, 1760, 1153]],
'00339.jpg': [[531, 244, 908, 529]],
'00340.jpg': [[85, 107, 564, 390]],
'00341.jpg': [[101, 34, 406, 375]],
'00342.jpg': [[8, 1, 320, 237]],
'00343.jpg': [[144, 43, 630, 410]],
'00344.jpg': [[25, 134, 618, 349]],
'00345.jpg': [[41, 72, 1022, 738]],
'00346.jpg': [[165, 255, 1390, 968]],
'00347.jpg': [[85, 43, 731, 324]],
'00348.jpg': [[11, 65, 240, 174]],
'00349.jpg': [[47, 77, 577, 404]],
'00350.jpg': [[17, 123, 277, 213]],
'00351.jpg': [[37, 54, 367, 262]],
'00352.jpg': [[25, 16, 532, 227]],
'00353.jpg': [[826, 511, 1285, 1084]],
'00354.jpg': [[165, 168, 469, 364]],
'00355.jpg': [[13, 49, 394, 232]],
'00356.jpg': [[8, 21, 492, 270]],
'00357.jpg': [[103, 11, 439, 288]],
'00358.jpg': [[9, 48, 579, 410]],
'00359.jpg': [[25, 41, 588, 419]],
'00360.jpg': [[50, 111, 602, 351]],
'00361.jpg': [[11, 46, 469, 282]],
'00362.jpg': [[1, 81, 259, 168]],
'00363.jpg': [[72, 73, 348, 303]],
'00364.jpg': [[186, 252, 775, 531]],
'00365.jpg': [[2, 98, 629, 426]],
'00366.jpg': [[37, 157, 576, 453]],
'00367.jpg': [[13, 114, 790, 487]],
'00368.jpg': [[16, 78, 310, 203]],
'00369.jpg': [[75, 126, 523, 425]],
'00370.jpg': [[134, 121, 929, 515]],
'00371.jpg': [[39, 73, 764, 394]],
'00372.jpg': [[138, 203, 878, 510]],
'00373.jpg': [[30, 45, 456, 306]],
'00374.jpg': [[66, 51, 766, 555]],
'00375.jpg': [[10, 132, 492, 327]],
'00376.jpg': [[1, 10, 259, 181]],
'00377.jpg': [[36, 84, 567, 371]],
'00378.jpg': [[63, 36, 700, 450]],
'00379.jpg': [[63, 91, 578, 420]],
'00380.jpg': [[11, 51, 497, 324]],
'00381.jpg': [[7, 37, 388, 219]],
'00382.jpg': [[50, 126, 446, 273]],
'00383.jpg': [[30, 54, 236, 182]],
'00384.jpg': [[67, 87, 619, 378]],
'00385.jpg': [[17, 48, 284, 147]],
'00386.jpg': [[86, 184, 723, 425]],
'00387.jpg': [[79, 8, 590, 426]],
'00388.jpg': [[1, 8, 300, 182]],
'00389.jpg': [[81, 397, 1147, 743]],
'00390.jpg': [[28, 43, 259, 148]],
'00391.jpg': [[53, 41, 282, 140]],
'00392.jpg': [[16, 94, 625, 442]],
'00393.jpg': [[48, 146, 609, 402]],
'00394.jpg': [[35, 88, 517, 343]],
'00395.jpg': [[20, 70, 959, 619]],
'00396.jpg': [[42, 53, 546, 390]],
'00397.jpg': [[65, 33, 485, 351]],
'00398.jpg': [[241, 436, 1366, 1108]],
'00399.jpg': [[18, 320, 1261, 870]],
'00400.jpg': [[73, 84, 944, 590]],
'00401.jpg': [[24, 98, 613, 360]],
'00402.jpg': [[148, 123, 546, 395]],
'00403.jpg': [[39, 134, 631, 391]],
'00404.jpg': [[47, 101, 965, 692]],
'00405.jpg': [[48, 114, 547, 432]],
'00406.jpg': [[28, 142, 513, 343]],
'00407.jpg': [[17, 49, 614, 461]],
'00408.jpg': [[41, 51, 579, 324]],
'00409.jpg': [[42, 195, 987, 611]],
'00410.jpg': [[89, 163, 563, 440]],
'00411.jpg': [[169, 54, 475, 316]],
'00412.jpg': [[12, 132, 633, 471]],
'00413.jpg': [[13, 27, 265, 165]],
'00414.jpg': [[132, 111, 743, 424]],
'00415.jpg': [[53, 109, 951, 700]],
'00416.jpg': [[37, 74, 600, 419]],
'00417.jpg': [[3, 58, 397, 230]],
'00418.jpg': [[44, 37, 230, 140]],
'00419.jpg': [[52, 39, 548, 376]],
'00420.jpg': [[65, 91, 596, 409]],
'00421.jpg': [[151, 101, 890, 640]],
'00422.jpg': [[25, 3, 631, 433]],
'00423.jpg': [[51, 281, 965, 686]],
'00424.jpg': [[74, 378, 862, 621]],
'00425.jpg': [[66, 25, 940, 520]],
'00426.jpg': [[174, 211, 904, 770]],
'00427.jpg': [[61, 82, 422, 302]],
'00428.jpg': [[78, 39, 502, 306]],
'00429.jpg': [[12, 33, 379, 268]],
'00430.jpg': [[122, 109, 490, 360]],
'00431.jpg': [[108, 68, 645, 379]],
'00432.jpg': [[38, 79, 616, 441]],
'00433.jpg': [[22, 10, 450, 226]],
'00434.jpg': [[212, 395, 1655, 996]],
'00435.jpg': [[66, 54, 296, 186]],
'00436.jpg': [[15, 53, 624, 433]],
'00437.jpg': [[20, 32, 249, 170]],
'00438.jpg': [[44, 164, 629, 378]],
'00439.jpg': [[23, 72, 517, 340]],
'00440.jpg': [[27, 37, 242, 168]],
'00441.jpg': [[76, 71, 479, 242]],
'00442.jpg': [[21, 16, 292, 186]],
'00443.jpg': [[6, 143, 495, 320]],
'00444.jpg': [[29, 45, 612, 445]],
'00445.jpg': [[21, 7, 272, 166]],
'00446.jpg': [[35, 21, 222, 164]],
'00447.jpg': [[180, 47, 1184, 719]],
'00448.jpg': [[268, 414, 2465, 1619]],
'00449.jpg': [[37, 59, 675, 361]],
'00450.jpg': [[34, 144, 605, 341]],
'00451.jpg': [[82, 45, 746, 497]],
'00452.jpg': [[82, 37, 622, 369]],
'00453.jpg': [[6, 73, 295, 197]],
'00454.jpg': [[14, 38, 241, 170]],
'00455.jpg': [[84, 120, 494, 365]],
'00456.jpg': [[44, 106, 387, 290]],
'00457.jpg': [[31, 20, 226, 119]],
'00458.jpg': [[39, 125, 564, 335]],
'00459.jpg': [[41, 161, 449, 337]],
'00460.jpg': [[10, 192, 798, 528]],
'00461.jpg': [[21, 24, 490, 279]],
'00462.jpg': [[38, 28, 226, 164]],
'00463.jpg': [[21, 75, 385, 243]],
'00464.jpg': [[86, 332, 989, 565]],
'00465.jpg': [[31, 105, 597, 359]],
'00466.jpg': [[17, 50, 290, 179]],
'00467.jpg': [[14, 53, 622, 310]],
'00468.jpg': [[41, 55, 150, 148]],
'00469.jpg': [[47, 117, 701, 357]],
'00470.jpg': [[117, 20, 613, 486]],
'00471.jpg': [[12, 68, 292, 212]],
'00472.jpg': [[34, 332, 1060, 723]],
'00473.jpg': [[47, 92, 525, 409]],
'00474.jpg': [[22, 10, 647, 400]],
'00475.jpg': [[109, 53, 519, 404]],
'00476.jpg': [[21, 53, 426, 310]],
'00477.jpg': [[66, 161, 751, 528]],
'00478.jpg': [[12, 38, 309, 194]],
'00479.jpg': [[249, 162, 634, 347]],
'00480.jpg': [[69, 178, 985, 623]],
'00481.jpg': [[38, 36, 250, 153]],
'00482.jpg': [[144, 82, 581, 344]],
'00483.jpg': [[45, 293, 3648, 2265]],
'00484.jpg': [[7, 60, 259, 181]],
'00485.jpg': [[2, 147, 627, 384]],
'00486.jpg': [[17, 64, 239, 156]],
'00487.jpg': [[17, 26, 281, 148]],
'00488.jpg': [[2, 19, 300, 179]],
'00489.jpg': [[22, 61, 277, 185]],
'00490.jpg': [[9, 69, 195, 130]],
'00491.jpg': [[36, 14, 288, 180]],
'00492.jpg': [[22, 115, 431, 324]],
'00493.jpg': [[43, 39, 569, 379]],
'00494.jpg': [[29, 65, 619, 419]],
'00495.jpg': [[30, 24, 2179, 1100]],
'00496.jpg': [[100, 22, 1223, 755]],
'00497.jpg': [[55, 104, 591, 386]],
'00498.jpg': [[24, 16, 230, 175]],
'00499.jpg': [[140, 55, 504, 410]],
'00500.jpg': [[48, 36, 732, 539]],
'00501.jpg': [[47, 109, 595, 389]],
'00502.jpg': [[23, 65, 629, 452]],
'00503.jpg': [[99, 100, 700, 501]],
'00504.jpg': [[20, 52, 435, 270]],
'00505.jpg': [[19, 196, 594, 385]],
'00506.jpg': [[73, 97, 605, 422]],
'00507.jpg': [[41, 184, 695, 541]],
'00508.jpg': [[14, 56, 299, 157]],
'00509.jpg': [[103, 137, 553, 398]],
'00510.jpg': [[9, 42, 254, 145]],
'00511.jpg': [[5, 31, 282, 229]],
'00512.jpg': [[17, 144, 600, 378]],
'00513.jpg': [[61, 253, 959, 575]],
'00514.jpg': [[61, 67, 283, 212]],
'00515.jpg': [[196, 343, 1384, 775]],
'00516.jpg': [[20, 304, 2044, 1399]],
'00517.jpg': [[13, 22, 304, 236]],
'00518.jpg': [[229, 284, 1205, 943]],
'00519.jpg': [[65, 319, 1148, 771]],
'00520.jpg': [[151, 121, 666, 411]],
'00521.jpg': [[16, 54, 300, 146]],
'00522.jpg': [[101, 61, 932, 637]],
'00523.jpg': [[161, 443, 812, 861]],
'00524.jpg': [[35, 98, 932, 636]],
'00525.jpg': [[110, 266, 921, 569]],
'00526.jpg': [[14, 56, 388, 243]],
'00527.jpg': [[28, 38, 240, 156]],
'00528.jpg': [[17, 233, 777, 471]],
'00529.jpg': [[50, 62, 233, 144]],
'00530.jpg': [[45, 160, 540, 296]],
'00531.jpg': [[4, 76, 397, 227]],
'00532.jpg': [[23, 107, 313, 326]],
'00533.jpg': [[77, 171, 505, 389]],
'00534.jpg': [[145, 337, 1786, 1027]],
'00535.jpg': [[114, 32, 598, 339]],
'00536.jpg': [[29, 41, 1007, 733]],
'00537.jpg': [[33, 80, 282, 209]],
'00538.jpg': [[25, 201, 876, 414]],
'00539.jpg': [[31, 17, 256, 166]],
'00540.jpg': [[7, 121, 635, 357]],
'00541.jpg': [[9, 42, 282, 207]],
'00542.jpg': [[200, 419, 830, 742]],
'00543.jpg': [[40, 55, 509, 337]],
'00544.jpg': [[15, 36, 237, 181]],
'00545.jpg': [[25, 37, 700, 307]],
'00546.jpg': [[190, 150, 905, 574]],
'00547.jpg': [[13, 64, 783, 502]],
'00548.jpg': [[2, 1, 584, 474]],
'00549.jpg': [[36, 78, 999, 615]],
'00550.jpg': [[18, 33, 235, 128]],
'00551.jpg': [[115, 78, 559, 375]],
'00552.jpg': [[11, 36, 626, 427]],
'00553.jpg': [[72, 63, 509, 320]],
'00554.jpg': [[2, 24, 700, 499]],
'00555.jpg': [[139, 477, 1906, 1387]],
'00556.jpg': [[39, 41, 223, 148]],
'00557.jpg': [[17, 10, 263, 122]],
'00558.jpg': [[82, 71, 521, 369]],
'00559.jpg': [[20, 68, 269, 189]],
'00560.jpg': [[1, 18, 424, 207]],
'00561.jpg': [[44, 34, 426, 286]],
'00562.jpg': [[44, 12, 523, 359]],
'00563.jpg': [[61, 171, 1237, 829]],
'00564.jpg': [[30, 41, 235, 153]],
'00565.jpg': [[15, 1, 545, 347]],
'00566.jpg': [[75, 123, 839, 471]],
'00567.jpg': [[116, 170, 757, 445]],
'00568.jpg': [[27, 9, 206, 111]],
'00569.jpg': [[47, 77, 619, 450]],
'00570.jpg': [[65, 110, 649, 398]],
'00571.jpg': [[121, 241, 916, 559]],
'00572.jpg': [[139, 120, 581, 419]],
'00573.jpg': [[9, 44, 230, 134]],
'00574.jpg': [[15, 60, 284, 224]],
'00575.jpg': [[93, 514, 1807, 1008]],
'00576.jpg': [[54, 81, 915, 484]],
'00577.jpg': [[143, 98, 610, 445]],
'00578.jpg': [[37, 91, 575, 350]],
'00579.jpg': [[201, 226, 558, 409]],
'00580.jpg': [[2, 104, 300, 203]],
'00581.jpg': [[72, 104, 548, 395]],
'00582.jpg': [[80, 71, 601, 300]],
'00583.jpg': [[56, 64, 474, 323]],
'00584.jpg': [[42, 47, 223, 168]],
'00585.jpg': [[359, 388, 1620, 1188]],
'00586.jpg': [[44, 215, 566, 389]],
'00587.jpg': [[70, 109, 969, 731]],
'00588.jpg': [[15, 40, 250, 147]],
'00589.jpg': [[33, 55, 467, 305]],
'00590.jpg': [[19, 14, 335, 252]],
'00591.jpg': [[82, 57, 988, 656]],
'00592.jpg': [[33, 30, 282, 150]],
'00593.jpg': [[21, 110, 627, 367]],
'00594.jpg': [[33, 11, 418, 209]],
'00595.jpg': [[32, 71, 548, 281]],
'00596.jpg': [[115, 9, 553, 393]],
'00597.jpg': [[39, 116, 592, 398]],
'00598.jpg': [[37, 53, 409, 263]],
'00599.jpg': [[38, 56, 349, 232]],
'00600.jpg': [[42, 91, 613, 395]],
'00601.jpg': [[50, 91, 609, 395]],
'00602.jpg': [[135, 429, 915, 762]],
'00603.jpg': [[40, 68, 263, 187]],
'00604.jpg': [[300, 253, 1670, 1011]],
'00605.jpg': [[37, 20, 359, 266]],
'00606.jpg': [[12, 76, 1271, 786]],
'00607.jpg': [[22, 23, 426, 226]],
'00608.jpg': [[54, 93, 2269, 938]],
'00609.jpg': [[10, 52, 155, 121]],
'00610.jpg': [[35, 89, 608, 391]],
'00611.jpg': [[43, 85, 703, 538]],
'00612.jpg': [[24, 33, 253, 170]],
'00613.jpg': [[37, 57, 261, 195]],
'00614.jpg': [[90, 185, 694, 375]],
'00615.jpg': [[61, 42, 614, 373]],
'00616.jpg': [[18, 58, 253, 182]],
'00617.jpg': [[19, 39, 223, 156]],
'00618.jpg': [[75, 174, 754, 543]],
'00619.jpg': [[217, 179, 585, 369]],
'00620.jpg': [[180, 9, 555, 286]],
'00621.jpg': [[94, 74, 607, 325]],
'00622.jpg': [[69, 46, 345, 228]],
'00623.jpg': [[10, 56, 308, 189]],
'00624.jpg': [[141, 112, 650, 439]],
'00625.jpg': [[154, 27, 903, 635]],
'00626.jpg': [[30, 195, 996, 591]],
'00627.jpg': [[40, 232, 544, 444]],
'00628.jpg': [[43, 59, 1022, 721]],
'00629.jpg': [[33, 64, 556, 309]],
'00630.jpg': [[7, 84, 1019, 640]],
'00631.jpg': [[31, 367, 1033, 633]],
'00632.jpg': [[6, 87, 255, 173]],
'00633.jpg': [[23, 45, 237, 165]],
'00634.jpg': [[109, 94, 409, 258]],
'00635.jpg': [[35, 136, 481, 353]],
'00636.jpg': [[62, 96, 584, 379]],
'00637.jpg': [[30, 75, 463, 318]],
'00638.jpg': [[11, 101, 633, 411]],
'00639.jpg': [[83, 83, 1183, 734]],
'00640.jpg': [[54, 145, 730, 406]],
'00641.jpg': [[42, 57, 225, 162]],
'00642.jpg': [[6, 46, 252, 134]],
'00643.jpg': [[56, 120, 505, 404]],
'00644.jpg': [[43, 106, 614, 350]],
'00645.jpg': [[15, 105, 466, 258]],
'00646.jpg': [[56, 77, 348, 260]],
'00647.jpg': [[143, 105, 1902, 1395]],
'00648.jpg': [[63, 23, 759, 560]],
'00649.jpg': [[5, 47, 590, 346]],
'00650.jpg': [[42, 52, 679, 446]],
'00651.jpg': [[60, 90, 904, 616]],
'00652.jpg': [[98, 308, 1135, 975]],
'00653.jpg': [[33, 227, 652, 460]],
'00654.jpg': [[16, 40, 234, 129]],
'00655.jpg': [[120, 139, 506, 386]],
'00656.jpg': [[51, 1, 561, 273]],
'00657.jpg': [[113, 108, 412, 279]],
'00658.jpg': [[58, 68, 559, 265]],
'00659.jpg': [[16, 63, 241, 172]],
'00660.jpg': [[30, 51, 257, 160]],
'00661.jpg': [[37, 86, 546, 365]],
'00662.jpg': [[61, 56, 536, 425]],
'00663.jpg': [[11, 66, 244, 169]],
'00664.jpg': [[38, 42, 271, 189]],
'00665.jpg': [[36, 27, 740, 403]],
'00666.jpg': [[92, 278, 1396, 935]],
'00667.jpg': [[12, 10, 503, 300]],
'00668.jpg': [[118, 29, 520, 397]],
'00669.jpg': [[26, 34, 259, 167]],
'00670.jpg': [[201, 107, 830, 679]],
'00671.jpg': [[78, 126, 529, 408]],
'00672.jpg': [[148, 126, 480, 324]],
'00673.jpg': [[9, 157, 498, 357]],
'00674.jpg': [[35, 35, 1262, 770]],
'00675.jpg': [[23, 83, 605, 339]],
'00676.jpg': [[52, 122, 594, 411]],
'00677.jpg': [[118, 82, 774, 492]],
'00678.jpg': [[74, 143, 555, 413]],
'00679.jpg': [[38, 23, 219, 159]],
'00680.jpg': [[3, 55, 786, 442]],
'00681.jpg': [[14, 17, 289, 188]],
'00682.jpg': [[241, 115, 1449, 1016]],
'00683.jpg': [[1, 1, 261, 141]],
'00684.jpg': [[111, 54, 365, 190]],
'00685.jpg': [[101, 125, 1043, 745]],
'00686.jpg': [[129, 137, 909, 485]],
'00687.jpg': [[38, 81, 496, 277]],
'00688.jpg': [[121, 184, 724, 487]],
'00689.jpg': [[111, 64, 448, 243]],
'00690.jpg': [[36, 41, 262, 197]],
'00691.jpg': [[51, 87, 563, 398]],
'00692.jpg': [[33, 91, 619, 356]],
'00693.jpg': [[56, 78, 433, 305]],
'00694.jpg': [[131, 135, 533, 297]],
'00695.jpg': [[70, 79, 484, 363]],
'00696.jpg': [[25, 29, 378, 235]],
'00697.jpg': [[52, 262, 1567, 1000]],
'00698.jpg': [[2, 15, 264, 154]],
'00699.jpg': [[31, 250, 1268, 785]],
'00700.jpg': [[168, 203, 915, 642]],
'00701.jpg': [[14, 67, 283, 193]],
'00702.jpg': [[25, 157, 584, 415]],
'00703.jpg': [[37, 79, 825, 391]],
'00704.jpg': [[20, 60, 389, 232]],
'00705.jpg': [[76, 330, 869, 625]],
'00706.jpg': [[21, 19, 267, 185]],
'00707.jpg': [[26, 82, 472, 306]],
'00708.jpg': [[51, 160, 834, 490]],
'00709.jpg': [[40, 79, 344, 209]],
'00710.jpg': [[74, 123, 560, 357]],
'00711.jpg': [[126, 65, 735, 347]],
'00712.jpg': [[55, 195, 912, 613]],
'00713.jpg': [[62, 116, 940, 734]],
'00714.jpg': [[28, 47, 593, 429]],
'00715.jpg': [[11, 52, 318, 212]],
'00716.jpg': [[20, 193, 926, 734]],
'00717.jpg': [[3, 12, 495, 317]],
'00718.jpg': [[23, 2, 640, 495]],
'00719.jpg': [[37, 39, 560, 402]],
'00720.jpg': [[69, 102, 609, 419]],
'00721.jpg': [[76, 367, 1207, 1105]],
'00722.jpg': [[45, 22, 932, 629]],
'00723.jpg': [[62, 46, 420, 280]],
'00724.jpg': [[47, 135, 565, 341]],
'00725.jpg': [[61, 51, 490, 270]],
'00726.jpg': [[26, 87, 409, 233]],
'00727.jpg': [[12, 21, 313, 205]],
'00728.jpg': [[56, 74, 607, 393]],
'00729.jpg': [[52, 134, 531, 309]],
'00730.jpg': [[18, 29, 421, 261]],
'00731.jpg': [[143, 51, 388, 271]],
'00732.jpg': [[56, 12, 679, 508]],
'00733.jpg': [[128, 466, 1367, 817]],
'00734.jpg': [[11, 94, 394, 247]],
'00735.jpg': [[190, 52, 513, 367]],
'00736.jpg': [[84, 380, 1543, 895]],
'00737.jpg': [[44, 79, 976, 626]],
'00738.jpg': [[71, 404, 1215, 827]],
'00739.jpg': [[10, 146, 623, 411]],
'00740.jpg': [[42, 142, 411, 301]],
'00741.jpg': [[26, 102, 564, 348]],
'00742.jpg': [[24, 61, 568, 299]],
'00743.jpg': [[178, 160, 729, 519]],
'00744.jpg': [[40, 78, 569, 351]],
'00745.jpg': [[14, 37, 265, 153]],
'00746.jpg': [[24, 28, 281, 140]],
'00747.jpg': [[206, 314, 838, 637]],
'00748.jpg': [[241, 478, 1441, 973]],
'00749.jpg': [[58, 51, 584, 292]],
'00750.jpg': [[1, 199, 797, 539]],
'00751.jpg': [[25, 56, 229, 173]],
'00752.jpg': [[396, 333, 1327, 1039]],
'00753.jpg': [[36, 58, 250, 134]],
'00754.jpg': [[35, 15, 632, 452]],
'00755.jpg': [[17, 102, 284, 175]],
'00756.jpg': [[66, 44, 906, 636]],
'00757.jpg': [[28, 33, 626, 286]],
'00758.jpg': [[20, 87, 382, 242]],
'00759.jpg': [[25, 44, 237, 177]],
'00760.jpg': [[8, 73, 98, 105]],
'00761.jpg': [[25, 31, 567, 433]],
'00762.jpg': [[25, 120, 617, 361]],
'00763.jpg': [[7, 65, 257, 158]],
'00764.jpg': [[11, 14, 132, 95]],
'00765.jpg': [[173, 187, 416, 307]],
'00766.jpg': [[43, 119, 537, 366]],
'00767.jpg': [[35, 122, 613, 399]],
'00768.jpg': [[70, 42, 412, 234]],
'00769.jpg': [[5, 95, 248, 188]],
'00770.jpg': [[19, 38, 259, 181]],
'00771.jpg': [[29, 89, 607, 383]],
'00772.jpg': [[54, 87, 730, 385]],
'00773.jpg': [[187, 308, 823, 571]],
'00774.jpg': [[354, 299, 1261, 810]],
'00775.jpg': [[84, 105, 355, 285]],
'00776.jpg': [[75, 69, 690, 529]],
'00777.jpg': [[187, 95, 1013, 527]],
'00778.jpg': [[1, 31, 259, 153]],
'00779.jpg': [[19, 20, 630, 451]],
'00780.jpg': [[1, 1, 471, 325]],
'00781.jpg': [[28, 26, 288, 212]],
'00782.jpg': [[9, 16, 438, 200]],
'00783.jpg': [[98, 159, 482, 342]],
'00784.jpg': [[25, 27, 218, 140]],
'00785.jpg': [[42, 99, 393, 285]],
'00786.jpg': [[36, 306, 990, 692]],
'00787.jpg': [[67, 123, 583, 331]],
'00788.jpg': [[81, 48, 523, 329]],
'00789.jpg': [[1, 47, 160, 105]],
'00790.jpg': [[63, 176, 573, 400]],
'00791.jpg': [[523, 249, 1085, 588]],
'00792.jpg': [[78, 187, 959, 560]],
'00793.jpg': [[51, 54, 246, 186]],
'00794.jpg': [[44, 26, 581, 395]],
'00795.jpg': [[14, 21, 245, 173]],
'00796.jpg': [[118, 48, 456, 217]],
'00797.jpg': [[31, 205, 2196, 1377]],
'00798.jpg': [[286, 238, 1480, 922]],
'00799.jpg': [[48, 20, 252, 161]],
'00800.jpg': [[17, 332, 1014, 747]],
'00801.jpg': [[139, 550, 1393, 1012]],
'00802.jpg': [[105, 92, 563, 361]],
'00803.jpg': [[104, 116, 409, 244]],
'00804.jpg': [[24, 56, 271, 154]],
'00805.jpg': [[33, 50, 464, 344]],
'00806.jpg': [[10, 79, 793, 534]],
'00807.jpg': [[337, 608, 906, 899]],
'00808.jpg': [[45, 165, 732, 435]],
'00809.jpg': [[70, 351, 1214, 677]],
'00810.jpg': [[58, 129, 516, 281]],
'00811.jpg': [[8, 7, 293, 220]],
'00812.jpg': [[19, 44, 305, 199]],
'00813.jpg': [[40, 32, 240, 159]],
'00814.jpg': [[54, 170, 574, 431]],
'00815.jpg': [[16, 21, 786, 523]],
'00816.jpg': [[9, 137, 636, 389]],
'00817.jpg': [[17, 53, 419, 265]],
'00818.jpg': [[74, 132, 379, 299]],
'00819.jpg': [[54, 51, 457, 301]],
'00820.jpg': [[120, 105, 576, 414]],
'00821.jpg': [[33, 21, 404, 200]],
'00822.jpg': [[27, 90, 593, 399]],
'00823.jpg': [[2, 107, 639, 396]],
'00824.jpg': [[27, 154, 616, 323]],
'00825.jpg': [[574, 57, 1292, 445]],
'00826.jpg': [[12, 216, 252, 349]],
'00827.jpg': [[3, 47, 259, 152]],
'00828.jpg': [[73, 69, 542, 373]],
'00829.jpg': [[89, 52, 546, 262]],
'00830.jpg': [[63, 90, 402, 281]],
'00831.jpg': [[16, 15, 383, 170]],
'00832.jpg': [[123, 170, 575, 402]],
'00833.jpg': [[72, 164, 903, 673]],
'00834.jpg': [[37, 159, 454, 332]],
'00835.jpg': [[21, 42, 227, 159]],
'00836.jpg': [[5, 159, 484, 359]],
'00837.jpg': [[19, 111, 619, 378]],
'00838.jpg': [[60, 62, 607, 415]],
'00839.jpg': [[25, 130, 615, 422]],
'00840.jpg': [[334, 249, 879, 510]],
'00841.jpg': [[18, 28, 225, 120]],
'00842.jpg': [[85, 136, 577, 363]],
'00843.jpg': [[14, 130, 1013, 537]],
'00844.jpg': [[37, 71, 352, 247]],
'00845.jpg': [[124, 83, 562, 277]],
'00846.jpg': [[55, 102, 573, 395]],
'00847.jpg': [[265, 136, 1320, 799]],
'00848.jpg': [[38, 124, 597, 333]],
'00849.jpg': [[12, 33, 292, 171]],
'00850.jpg': [[99, 152, 616, 418]],
'00851.jpg': [[11, 48, 613, 393]],
'00852.jpg': [[127, 45, 665, 412]],
'00853.jpg': [[33, 94, 611, 391]],
'00854.jpg': [[263, 55, 1686, 1078]],
'00855.jpg': [[31, 31, 593, 251]],
'00856.jpg': [[89, 28, 491, 293]],
'00857.jpg': [[61, 117, 537, 371]],
'00858.jpg': [[90, 66, 394, 278]],
'00859.jpg': [[163, 151, 604, 431]],
'00860.jpg': [[31, 73, 611, 415]],
'00861.jpg': [[11, 53, 626, 409]],
'00862.jpg': [[39, 73, 352, 216]],
'00863.jpg': [[17, 29, 274, 198]],
'00864.jpg': [[1, 117, 2158, 1292]],
'00865.jpg': [[31, 74, 235, 192]],
'00866.jpg': [[32, 35, 413, 256]],
'00867.jpg': [[4, 380, 1590, 1195]],
'00868.jpg': [[1, 3, 220, 107]],
'00869.jpg': [[46, 71, 926, 629]],
'00870.jpg': [[85, 24, 633, 270]],
'00871.jpg': [[23, 55, 290, 152]],
'00872.jpg': [[72, 189, 978, 573]],
'00873.jpg': [[105, 98, 671, 462]],
'00874.jpg': [[24, 44, 613, 278]],
'00875.jpg': [[24, 110, 1013, 660]],
'00876.jpg': [[57, 27, 239, 160]],
'00877.jpg': [[92, 143, 1194, 812]],
'00878.jpg': [[22, 28, 262, 177]],
'00879.jpg': [[42, 37, 241, 168]],
'00880.jpg': [[23, 46, 222, 163]],
'00881.jpg': [[45, 79, 663, 423]],
'00882.jpg': [[48, 113, 582, 349]],
'00883.jpg': [[132, 126, 718, 459]],
'00884.jpg': [[8, 5, 630, 439]],
'00885.jpg': [[28, 51, 238, 164]],
'00886.jpg': [[10, 34, 252, 181]],
'00887.jpg': [[93, 93, 953, 635]],
'00888.jpg': [[103, 190, 1189, 783]],
'00889.jpg': [[454, 486, 1551, 1022]],
'00890.jpg': [[59, 198, 557, 444]],
'00891.jpg': [[79, 172, 1474, 853]],
'00892.jpg': [[1, 33, 300, 158]],
'00893.jpg': [[7, 20, 250, 176]],
'00894.jpg': [[58, 117, 497, 311]],
'00895.jpg': [[52, 162, 729, 513]],
'00896.jpg': [[84, 120, 745, 463]],
'00897.jpg': [[84, 40, 629, 302]],
'00898.jpg': [[1, 60, 159, 137]],
'00899.jpg': [[76, 163, 1213, 721]],
'00900.jpg': [[1, 8, 85, 53]],
'00901.jpg': [[88, 65, 444, 261]],
'00902.jpg': [[172, 215, 2786, 2125]],
'00903.jpg': [[29, 61, 412, 273]],
'00904.jpg': [[28, 45, 270, 168]],
'00905.jpg': [[51, 127, 599, 384]],
'00906.jpg': [[46, 1, 614, 255]],
'00907.jpg': [[61, 218, 2929, 1951]],
'00908.jpg': [[41, 59, 435, 315]],
'00909.jpg': [[35, 124, 708, 368]],
'00910.jpg': [[18, 95, 1022, 456]],
'00911.jpg': [[553, 193, 1278, 760]],
'00912.jpg': [[1, 120, 799, 397]],
'00913.jpg': [[85, 245, 713, 472]],
'00914.jpg': [[42, 12, 299, 218]],
'00915.jpg': [[34, 53, 262, 184]],
'00916.jpg': [[42, 29, 261, 168]],
'00917.jpg': [[15, 23, 344, 164]],
'00918.jpg': [[113, 81, 632, 428]],
'00919.jpg': [[519, 355, 1143, 673]],
'00920.jpg': [[81, 1, 581, 284]],
'00921.jpg': [[41, 25, 469, 275]],
'00922.jpg': [[175, 48, 1091, 746]],
'00923.jpg': [[4, 3, 318, 158]],
'00924.jpg': [[2, 17, 88, 56]],
'00925.jpg': [[43, 75, 611, 471]],
'00926.jpg': [[9, 11, 128, 86]],
'00927.jpg': [[112, 64, 491, 364]],
'00928.jpg': [[291, 645, 2135, 1555]],
'00929.jpg': [[656, 337, 1603, 969]],
'00930.jpg': [[98, 196, 419, 327]],
'00931.jpg': [[34, 14, 276, 208]],
'00932.jpg': [[24, 21, 240, 171]],
'00933.jpg': [[4, 57, 396, 297]],
'00934.jpg': [[24, 42, 597, 339]],
'00935.jpg': [[54, 70, 366, 212]],
'00936.jpg': [[57, 182, 488, 587]],
'00937.jpg': [[92, 128, 1521, 1059]],
'00938.jpg': [[142, 526, 1795, 1096]],
'00939.jpg': [[85, 48, 590, 427]],
'00940.jpg': [[11, 43, 262, 163]],
'00941.jpg': [[16, 59, 420, 295]],
'00942.jpg': [[11, 5, 291, 179]],
'00943.jpg': [[48, 63, 689, 434]],
'00944.jpg': [[13, 24, 254, 180]],
'00945.jpg': [[96, 69, 826, 464]],
'00946.jpg': [[139, 169, 1516, 1030]],
'00947.jpg': [[140, 145, 1155, 853]],
'00948.jpg': [[6, 75, 423, 244]],
'00949.jpg': [[38, 342, 985, 659]],
'00950.jpg': [[212, 554, 1637, 1165]],
'00951.jpg': [[10, 39, 251, 153]],
'00952.jpg': [[29, 66, 474, 287]],
'00953.jpg': [[24, 187, 951, 600]],
'00954.jpg': [[43, 103, 746, 316]],
'00955.jpg': [[118, 171, 1168, 638]],
'00956.jpg': [[13, 40, 297, 178]],
'00957.jpg': [[136, 499, 1450, 1045]],
'00958.jpg': [[412, 394, 988, 677]],
'00959.jpg': [[9, 22, 255, 157]],
'00960.jpg': [[12, 90, 633, 397]],
'00961.jpg': [[29, 33, 624, 331]],
'00962.jpg': [[268, 220, 737, 440]],
'00963.jpg': [[180, 115, 996, 674]],
'00964.jpg': [[61, 191, 944, 665]],
'00965.jpg': [[53, 107, 1127, 689]],
'00966.jpg': [[162, 74, 861, 715]],
'00967.jpg': [[68, 50, 479, 273]],
'00968.jpg': [[59, 18, 458, 288]],
'00969.jpg': [[63, 28, 533, 364]],
'00970.jpg': [[123, 106, 364, 221]],
'00971.jpg': [[19, 62, 282, 189]],
'00972.jpg': [[2, 56, 300, 185]],
'00973.jpg': [[129, 119, 516, 284]],
'00974.jpg': [[11, 33, 257, 167]],
'00975.jpg': [[12, 48, 280, 170]],
'00976.jpg': [[16, 95, 636, 383]],
'00977.jpg': [[7, 13, 247, 142]],
'00978.jpg': [[417, 230, 1695, 1262]],
'00979.jpg': [[136, 171, 839, 555]],
'00980.jpg': [[31, 66, 1321, 916]],
'00981.jpg': [[6, 575, 2862, 1638]],
'00982.jpg': [[41, 201, 607, 480]],
'00983.jpg': [[69, 69, 686, 439]],
'00984.jpg': [[11, 70, 560, 345]],
'00985.jpg': [[59, 161, 892, 611]],
'00986.jpg': [[25, 31, 393, 289]],
'00987.jpg': [[41, 73, 621, 419]],
'00988.jpg': [[102, 56, 702, 424]],
'00989.jpg': [[26, 142, 525, 378]],
'00990.jpg': [[4, 66, 237, 162]],
'00991.jpg': [[215, 155, 473, 316]],
'00992.jpg': [[21, 89, 492, 259]],
'00993.jpg': [[142, 136, 667, 558]],
'00994.jpg': [[37, 35, 284, 168]],
'00995.jpg': [[34, 210, 662, 425]],
'00996.jpg': [[29, 154, 604, 353]],
'00997.jpg': [[9, 44, 688, 395]],
'00998.jpg': [[17, 62, 386, 176]],
'00999.jpg': [[116, 89, 1956, 1441]],
'01000.jpg': [[67, 101, 549, 345]],
...}
# Example usage Train Images
random_images = random.sample(list(train_dict.keys()), 5)
display_images(random_images, train_dict, "/content/Car Images/Train Images")
# Example usage Train Images
random_images = random.sample(list(test_dict.keys()), 5)
display_images(random_images, train_dict, "/content/Car Images/Train Images")
import tensorflow as tf
from tensorflow.keras.preprocessing.image import ImageDataGenerator
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Conv2D, MaxPooling2D, Flatten, Dense
# Set the image size and number of classes
img_size = (224, 224)
num_classes = 196
# Create data generators for the train and test directories
train_datagen = ImageDataGenerator(rescale=1./255)
test_datagen = ImageDataGenerator(rescale=1./255)
train_generator = train_datagen.flow_from_directory(
train_dir, target_size=img_size, batch_size=32, class_mode='categorical')
test_generator = test_datagen.flow_from_directory(
test_dir, target_size=img_size, batch_size=32, class_mode='categorical')
# Define the CNN model architecture
model = Sequential([
Conv2D(16, (3, 3), activation='relu', input_shape=(224, 224, 3)),
MaxPooling2D((2, 2)),
Conv2D(32, (3, 3), activation='relu'),
MaxPooling2D((2, 2)),
Conv2D(64, (3, 3), activation='relu'),
MaxPooling2D((2, 2)),
Flatten(),
Dense(64, activation='relu'),
Dense(num_classes, activation='softmax')
])
# Compile the model with categorical cross-entropy loss and Adam optimizer
model.compile(loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy'])
# Train the model and get the history object
#history = model.fit(train_generator, epochs=10, batch_size=32)
from tensorflow.keras.callbacks import ModelCheckpoint
save_at = "/content/model.hdf5"
save_best = ModelCheckpoint (save_at, monitor='val_accuracy', verbose=0,
save_best_only=True, save_weights_only=False, mode='max')
model.summary()
Model: "sequential"
_________________________________________________________________
Layer (type) Output Shape Param #
=================================================================
conv2d (Conv2D) (None, 222, 222, 16) 448
max_pooling2d (MaxPooling2D (None, 111, 111, 16) 0
)
conv2d_1 (Conv2D) (None, 109, 109, 32) 4640
max_pooling2d_1 (MaxPooling (None, 54, 54, 32) 0
2D)
conv2d_2 (Conv2D) (None, 52, 52, 64) 18496
max_pooling2d_2 (MaxPooling (None, 26, 26, 64) 0
2D)
flatten (Flatten) (None, 43264) 0
dense (Dense) (None, 64) 2768960
dense_1 (Dense) (None, 196) 12740
=================================================================
Total params: 2,805,284
Trainable params: 2,805,284
Non-trainable params: 0
_________________________________________________________________
history = model.fit( train_generator,
epochs = 10, batch_size = 32,
callbacks=[save_best], verbose=1,
validation_data = test_generator)
Epoch 1/10 255/255 [==============================] - 142s 556ms/step - loss: 1.4077 - accuracy: 0.6090 - val_loss: 14.7684 - val_accuracy: 0.0190 Epoch 2/10 255/255 [==============================] - 141s 555ms/step - loss: 1.2244 - accuracy: 0.6621 - val_loss: 16.0769 - val_accuracy: 0.0183 Epoch 3/10 255/255 [==============================] - 141s 552ms/step - loss: 1.0997 - accuracy: 0.6992 - val_loss: 17.0150 - val_accuracy: 0.0184 Epoch 4/10 255/255 [==============================] - 143s 561ms/step - loss: 1.0121 - accuracy: 0.7263 - val_loss: 19.0808 - val_accuracy: 0.0178 Epoch 5/10 255/255 [==============================] - 141s 554ms/step - loss: 0.9442 - accuracy: 0.7412 - val_loss: 19.2367 - val_accuracy: 0.0178 Epoch 6/10 255/255 [==============================] - 141s 553ms/step - loss: 0.9112 - accuracy: 0.7597 - val_loss: 21.7434 - val_accuracy: 0.0163 Epoch 7/10 255/255 [==============================] - 142s 559ms/step - loss: 0.8358 - accuracy: 0.7747 - val_loss: 21.2422 - val_accuracy: 0.0193 Epoch 8/10 255/255 [==============================] - 142s 556ms/step - loss: 0.8005 - accuracy: 0.7832 - val_loss: 23.6032 - val_accuracy: 0.0189 Epoch 9/10 255/255 [==============================] - 142s 556ms/step - loss: 0.7673 - accuracy: 0.7941 - val_loss: 24.7150 - val_accuracy: 0.0187 Epoch 10/10 255/255 [==============================] - 140s 551ms/step - loss: 0.7381 - accuracy: 0.8032 - val_loss: 23.2190 - val_accuracy: 0.0221
test_loss, test_acc = model.evaluate(test_generator)
print('Test loss:', test_loss)
print('Test accuracy:', test_acc)
252/252 [==============================] - 70s 278ms/step - loss: 23.2190 - accuracy: 0.0221 Test loss: 23.219026565551758 Test accuracy: 0.022136550396680832
# summarize history for accuracy
plt.plot(history.history['accuracy'])
plt.plot(history.history['val_accuracy'])
plt.title('model accuracy')
plt.ylabel('accuracy')
plt.xlabel('epoch')
plt.legend(['Train', 'Validation'], loc='upper left')
plt.show()
plt.plot(history.history['loss'])
plt.plot(history.history['val_loss'])
plt.title('model loss')
plt.ylabel('loss')
plt.xlabel('epoch')
plt.legend(['Train', 'Validation'], loc='upper left')
plt.show()
Inference : With 10 epochs and basic few layers, our basic CNN model has a test accuracy of 2.2% and definitely this approach is not at yeilding anything for us. We need to effectively use the annotations to mask and use a different model for better accuracy
The goal of this project is to design a deep learning-based car identification model using computer vision techniques. We will be using the Cars dataset, which contains 16,185 images of 196 classes of cars. The dataset is split into 8,144 training images and 8,041 testing images, where each class has been split roughly in a 50-50 split. Classes are typically at the level of Make, Model, Year, e.g. 2012 Tesla Model S or 2012 BMW M3 coupe.
For milestone 1, we have completed the following steps:
We have imported the Cars dataset, which contains the following files:
Train Images: Consists of real images of cars as per the make and year of the car.
Test Images: Consists of real images of cars as per the make and year of the car.
Train Annotation: Consists of bounding box region for training images.
Test Annotation: Consists of bounding box region for testing images.
We have mapped each training and testing image to its respective class. This was done by reading the annotation CSV files and creating a dictionary that maps the image name to its class.
We have mapped each training and testing image to its respective annotation, which consists of the bounding box coordinates and image class. This was done by reading the annotation CSV files and creating a dictionary that maps the image name to its bounding box and class.
We have written a script to display random images from the training dataset with their bounding boxes. This was done to get a better understanding of the dataset and to ensure that the annotations are correct.
We have designed a basic CNN model to classify the car images. The model consists of 3 convolutional layers, followed by 1 fully connected layer and a softmax output layer. We have trained the model for 10 epochs and achieved an accuracy of 98.9% on the train set. The test accuracy is very low around 2.3% only.
We are currently working on the interim report, which includes a detailed description of the project, the dataset, and the progress made so far.
We have made good progress in milestone 1, completing all the required steps. We have imported the dataset, mapped the images to their classes and annotations, displayed images with their bounding boxes, and designed a basic CNN model for car classification. In the next milestone, we will fine-tune the basic CNN model and design an RCNN-based object detection model.